ホームページ > 記事 > ウェブフロントエンド > 再帰を使用して JavaScript 配列値のすべての組み合わせを生成する方法
JavaScript 配列値のすべての組み合わせ (デカルト積) を見つける
JavaScript 配列のセット内の値のすべての組み合わせを決定するには、次を使用します。再帰。順列とは異なり、このプロセスでは、単一の配列内の要素を再配置するのではなく、複数の配列にまたがる要素を結合しようとします。
指定された配列のデカルト積を生成する再帰的ソリューションは次のとおりです。
<code class="js">function allPossibleCases(arr) { if (arr.length === 0) { return []; } else if (arr.length === 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); 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; } }</code>
たとえば、入力配列
<code class="js">var first = ['a', 'b', 'c', 'd']; var second = ['e']; var third = ['f', 'g', 'h', 'i', 'j'];</code>
が与えられた場合、allPossibleCases 関数は次の組み合わせを出力します:
aef aeg aeh aei aej bef beg
... など、要素の可能なすべての組み合わせが生成されます。 3 つの入力配列。
以上が再帰を使用して JavaScript 配列値のすべての組み合わせを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。