ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列から値のすべての組み合わせ (デカルト積) を生成するにはどうすればよいですか?
JavaScript 配列値のすべての組み合わせ (デカルト積) を見つける
JavaScript で複数の配列から値のすべての組み合わせを生成するには、デカルト積の概念。そのアプローチ方法は次のとおりです。
デカルト積の再帰
すべての組み合わせを生成するには、以下を反復する再帰関数を使用できます。各配列を作成し、すべての要素を結合しますarrays.
複数の配列のデカルト積を見つける再帰関数の例を次に示します。
function allPossibleCases(arr) {<br> if (arr.length == 1) {</p> <pre class="brush:php;toolbar:false">return arr[0];
} 他{
var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array 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;
}
}
使用法例
3 つの配列があるとします:
var first = ['a', 'b'],<br>var Second = ['c'],<br>var third = ['d', 'e', 'f'];
allPossibleCases 関数を使用すると、次のようにすべての組み合わせを生成できます:
var allArrays = [最初、二番目、 third];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
注: の順序各組み合わせの要素は、allArrays 変数内の配列の順序によって異なる場合があります。
以上がJavaScript 配列から値のすべての組み合わせ (デカルト積) を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。