ホームページ >ウェブフロントエンド >jsチュートリアル >再帰を使用して JavaScript 配列値のすべての組み合わせを生成する方法

再帰を使用して JavaScript 配列値のすべての組み合わせを生成する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 22:11:02542ブラウズ

How to Generate All Combinations of JavaScript Array Values Using Recursion?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。