尋找JavaScript 陣列值的所有組合(笛卡爾積)
在JavaScript 中從多個陣列產生值的所有組合可以透過以下方式實現:笛卡爾積的概念。實現方法如下:
笛卡爾積的遞歸
要產生所有組合,我們可以使用迭代的遞歸函數每個數組並組合所有數組中的元素。
以下是尋找多個陣列的笛卡爾積的遞歸函數範例:
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;
}
}
使用範例
假設您有三個數組:
var first = ['a', 'b'], <br>var 第二= ['c'],<br>var 第三= ['d', 'e' , 'f'];
使用allPossibleCases 函數,您可以產生所有組合,如下所示:
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
注意:每個組合中元素的順序可能會根據allArrays 變數中數組的順序而有所不同。
以上是如何從 JavaScript 陣列產生值的所有組合(笛卡爾積)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!