ホームページ > 記事 > ウェブフロントエンド > JavaScript 配列の値のすべての組み合わせ (デカルト積) を生成するにはどうすればよいですか?
JavaScript 配列値のデカルト積
問題:
任意の数の JavaScript が与えられた場合さまざまな長さの配列を使用して、その値のすべての組み合わせ (デカルト積) を決定します。
解決策:
このタスクは再帰を使用して効率的に解決できます。これには、各配列を反復処理し、その値を残りの配列の可能なすべての組み合わせと組み合わせることが含まれます。
次の実装を考えてみましょう:
function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { const result = []; const casesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of arr casesOfRest.forEach((c) => { for (let i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + c); } }); return result; } }
使用法:
var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]; var results = allPossibleCases(allArrays); // outputs ["acd", "bcd", "azd", ...]
説明:
以上がJavaScript 配列の値のすべての組み合わせ (デカルト積) を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。