中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS實現的全排列組合算法示例

發布時間:2020-08-23 05:39:35 來源:腳本之家 閱讀:814 作者:CyborgLin 欄目:web開發

本文實例講述了JS實現的全排列組合算法。分享給大家供大家參考,具體如下:

全排列組合算法,例如a,b,c,d進行全排列組合,則組合結果為:a,b,ab,c,ac,bc,abc,d,ad,bd,abd,cd,acd,bcd,abcd。實現思路:從數據源拿出一個元素,依次與已存在的組合數據進行組合,循環上面操作直到數據源沒有數據為止。

例子:

數據源a,b,c

1.拿出a,組合數據group為空,插入數據源a元素到組合數據group,此時group=[a]
2.拿出b,組合數據group拿出a,a和b組合,得到ab,把數據源b元素、ab插入組合數據group,此時group=[a,b,ab]
3.拿出c,組合數據group拿出a、b、ab,分別與c組合,分別得到ac、bc、abc,把數據源c元素、ac、bc、abc插入組合數據group,此時group=[a,b,ab,c,ac,bc,abc]

js代碼:

var data = ['a','b','c','d'];
function getGroup(data, index = 0, group = []) {
  var need_apply = new Array();
  need_apply.push(data[index]);
  for(var i = 0; i < group.length; i++) {
    need_apply.push(group[i] + data[index]);
  }
  group.push.apply(group, need_apply);
  if(index + 1 >= data.length) return group;
  else return getGroup(data, index + 1, group);
}
console.log(getGroup(data));

運行輸出結果:

JS實現的全排列組合算法示例

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

十堰市| 井研县| 凌云县| 广河县| 新竹县| 苏尼特左旗| 绍兴市| 景洪市| 宁安市| 张家口市| 罗城| 黄梅县| 深州市| 汶上县| 榕江县| 尚义县| 和平县| 宣汉县| 安岳县| 收藏| 桦甸市| 萝北县| 徐汇区| 葫芦岛市| 讷河市| 苏尼特左旗| 广宗县| 长武县| 阳春市| 吉林省| 麟游县| 邵武市| 宣武区| 邵阳县| 旬邑县| 余江县| 开远市| 安平县| 信丰县| 岳池县| 财经|