在JavaScript 中實現多個數組的笛卡爾積
多個數組的笛卡爾積包含輸入數組中元素的每種可能的組合。此操作對於從一組資料產生所有可能的組合或排列至關重要。
1 行答案(ES2020)
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
解釋
笛卡爾積的計算公式如下方式:
範例
到將笛卡爾積應用於具有數值的數組,請考慮以下內容範例:const output = cartesian([1, 2], [10, 20], [100, 200, 300]);
[ [1, 10, 100], [1, 10, 200], [1, 10, 300], [1, 20, 100], [1, 20, 200], [1, 20, 300], [2, 10, 100], [2, 10, 200], [2, 10, 300], [2, 20, 100], [2, 20, 200], [2, 20, 300], ]
以上是如何在 JavaScript 中有效率地計算多個陣列的笛卡爾積?的詳細內容。更多資訊請關注PHP中文網其他相關文章!