第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

查找JavaScript數(shù)組值的所有組合

查找JavaScript數(shù)組值的所有組合

查找JavaScript數(shù)組值的所有組合如何在N個(gè)可變長度的JavaScript數(shù)組中生成所有值的組合?假設(shè)我有N個(gè)JavaScript數(shù)組,例如var first = ['a', 'b', 'c', 'd'];var second = ['e'];var third =  ['f', 'g', 'h', 'i', 'j'];(在這個(gè)例子中有三個(gè)數(shù)組,但它有N個(gè)數(shù)組用于解決問題。)我想輸出它們的所有值的組合,以產(chǎn)生aef aeg aeh aei aej bef beg....dej編輯:這是我工作的版本,使用ffriend接受的答案作為基礎(chǔ)。var allArrays = [['a', 'b'], ['c', 'z'], ['d', 'e', 'f']];  function allPossibleCases(arr) {   if (arr.length === 0) {     return [];   } else if (arr.length ===1){return arr[0];}else {     var result = [];     var allCasesOfRest = allPossibleCases(arr.slice(1));  // recur with the rest of array     for (var c in allCasesOfRest) {       for (var i = 0; i < arr[0].length; i++) {         result.push(arr[0][i] + allCasesOfRest[c]);       }     }     return result;   }}var r=allPossibleCases(allArrays);  //outputs ["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
查看完整描述

3 回答

?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

這不是排列,請參閱維基百科的排列定義。

但是你可以通過遞歸來實(shí)現(xiàn)這個(gè)目的:

var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]function allPossibleCases(arr) {
  if (arr.length == 1) {
    return arr[0];
  } else {
    var result = [];
    var allCasesOfRest = allPossibleCases(arr.slice(1));  // recur with the rest of array
    for (var i = 0; i < allCasesOfRest.length; i++) {
      for (var j = 0; j < arr[0].length; j++) {
        result.push(arr[0][j] + allCasesOfRest[i]);
      }
    }
    return result;
  }}

你也可以使用循環(huán)來實(shí)現(xiàn)它,但它會有點(diǎn)棘手,需要實(shí)現(xiàn)你自己的堆棧模擬。


查看完整回答
反對 回復(fù) 2019-07-30
  • 3 回答
  • 0 關(guān)注
  • 990 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號