JavaScript 陣列值的笛卡爾積
問題:
問題:問題:
給定任意數量的JavaScript不同長度的數組,決定它們的所有組合(笛卡爾積)
function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { const result = []; const casesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of arr casesOfRest.forEach((c) => { for (let i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + c); } }); return result; } }
解決方案:
可以使用遞歸有效地解決此任務。它涉及迭代每個數組並將其值與剩餘數組的所有可能組合組合起來。var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]; var results = allPossibleCases(allArrays); // outputs ["acd", "bcd", "azd", ...]
考慮以下內容實現:
以上是如何產生 JavaScript 陣列中值的所有組合(笛卡爾積)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!