JavaScript での複数の配列のデカルト積の実装
複数の配列のデカルト積は、入力配列の要素の可能なすべての組み合わせで構成されます。この操作は、一連のデータから可能なすべての組み合わせまたは順列を生成するために不可欠です。
1 行の答え (ES2020)
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
説明
デカルト積は次のように計算されます方法:
例
To値を含む配列にデカルト積を適用するには、次のことを考慮してください。例:
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 中国語 Web サイトの他の関連記事を参照してください。