JavaScript は、複数の配列のデカルト積を求める簡単な方法を提供します。デカルト積では、各配列の要素を組み合わせて新しい配列を形成し、可能なすべての組み合わせが得られます。
たとえば、配列 [1, 2] と [10, 20] が与えられた場合、デカルト積は次のようになります。 [[1, 10], [1, 20], [2, 10], [2, 20]].
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
このソリューションは 2 つの主要な JavaScript 機能を採用しています:
Array.reduce(...): これは、配列を再帰的に結合するために使用され、各ステップで次の処理が実行されます。
let 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 は進化し続けており、ECMAScript 2020 で導入された新機能により、より簡潔で効率的なコードを作成できるようになります。この改善されたソリューションは、複雑な問題に対する最新の JavaScript の威力を実証します。
以上がJavaScript で複数の配列のデカルト積を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。