Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie generiere ich alle möglichen Kombinationen von Array-Werten in JavaScript?

Linda Hamilton
Freigeben: 2024-11-04 02:45:29
Original
203 Leute haben es durchsucht

How to Generate All Possible Combinations of Array Values in JavaScript?

Kartesisches Produkt: Generieren von Kombinationen von Array-Werten in JavaScript

Problembeschreibung:

Gegeben eine beliebige Anzahl von JavaScript-Arrays, wie berechnen wir das kartesische Produkt ihrer Elemente und generieren effektiv alle möglichen Kombinationen ihrer Werte?

Lösung:

Während dieses Problem mag einer Permutation ähneln, es ist eine klassische Aufgabe, bei der es um das kartesische Produkt geht. Mithilfe der Rekursion können wir einen Algorithmus implementieren, um dies zu erreichen:

  1. Definieren Sie eine Eingabeliste von Arrays:

    <code class="js">var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']];</code>
    Nach dem Login kopieren
  2. Erstellen Sie ein rekursives allPossibleCases Funktion:

    <code class="js">function allPossibleCases(arr) {
      if (arr.length === 1) {
        return arr[0];
      } else {
        var result = [];
        var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array
        for (var i = 0; i < arr[0].length; i++) {
          for (var j = 0; j < allCasesOfRest.length; j++) {
            result.push(arr[0][i] + allCasesOfRest[j]);
          }
        }
        return result;
      }
    }</code>
    Nach dem Login kopieren
  3. Instanziieren Sie die allPossibleCases-Funktion mit der Eingabeliste von Arrays und drucken Sie die Ergebnisse aus:

    console.log(allPossibleCases(allArrays));
    Nach dem Login kopieren

Ausgabe:

Dieser Code gibt alle möglichen Kombinationen der Werte in den Eingabearrays im folgenden Format aus:

["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
Nach dem Login kopieren

Dieser Algorithmus generiert effizient das kartesische Produkt der bereitgestellten Werte Arrays, die eine Lösung für das Problem der Erstellung umfassender Kombinationen ihrer Elemente bieten.

Das obige ist der detaillierte Inhalt vonWie generiere ich alle möglichen Kombinationen von Array-Werten in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage