亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據名稱查找組合

根據名稱查找組合

慕桂英3389331 2022-10-27 14:10:39
我正在嘗試在 JavaScript 中創建一個函數,給定一個字符串將返回一個包含所有名稱組合的數組,例如。 Name As per ITD - Potter Harry James                    Potter Harry                    Harry Potter                   Harry James Potter下面的代碼也給出了組合,但以這種方式: Name As per ITD - Potter Harry                    Potter James                    Potter                   Potter Harry James                    Harry James                    Harry                    James 代碼 :var PanName = "Harry James Potter";var ret = PanName.split(" ").reduce(function(ret, el, i, arr) {  var n = arr.slice(++i);  [2, 3].forEach(function(c) {    ret = ret.concat(n.map(function(_, i) {      return [el].concat(n.slice(i)).slice(0, c).join(' ');    }));  });  if (i === arr.length - 1) ret.pop();  return ret;}, []);var arr = ret.toString().split(",");arr = arr.map(function(el) {  return el.trim();});arr = arr.filter(function(item, index, inputArray) {  return inputArray.indexOf(item) == index;});var i;var text1 = "";for (i = 0; i < arr.length; i++) {  text1 += arr[i] + "<br>";}$('#displayCombinationNames').html(text1);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><p id="displayCombinationNames"></p>誰能幫我得到下面的輸出:預期輸出:Name As per ITD - Potter Harry James                    Potter Harry                    Harry Potter                   Harry James Potter
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

您可以通過將只有名字和姓氏的名稱分別處理更長的情況來做到這一點。對于第一種情況,結果只是一個first last和的數組last first。對于后一種情況,結果包括這些值,但也包括第一個后面的中間名:


var PanName = "Harry James Potter";

var arr = PanName.split(' ');

var ret;


if (arr.length == 2) {

  ret = [arr.join(' '), arr.reverse().join(' ')];

} else {

  ret = [arr.join(' ')];

  first = arr.shift();

  last = arr.pop();

  ret.push([first, last].join(' '), [last, first].join(' '));

  ret.push([last, first, arr].join(' '));

}

console.log(ret);


查看完整回答
反對 回復 2022-10-27
  • 1 回答
  • 0 關注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號