Heim > Artikel > Web-Frontend > Wie generiert man alle Kombinationen (kartesisches Produkt) von Werten aus JavaScript-Arrays?
Alle Kombinationen (kartesisches Produkt) von JavaScript-Array-Werten finden
Das Erzeugen aller Kombinationen von Werten aus mehreren Arrays in JavaScript kann durch erreicht werden Konzept des kartesischen Produkts. So können Sie es angehen:
Rekursion für kartesisches Produkt
Um alle Kombinationen zu generieren, können wir eine rekursive Funktion verwenden, die iteriert jedes Array und kombiniert Elemente aus allen Arrays.
Hier ist ein Beispiel einer rekursiven Funktion, die das kartesische Produkt mehrerer Arrays findet:
return arr[0];
} else {
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;
}
}
Verwendungsbeispiel
Angenommen, Sie haben drei Arrays:
var first = ['a', 'b'], <br>var Second = ['c'],<br>var Third = ['d', 'e', 'f'];
Mit der allPossibleCases-Funktion können Sie alle Kombinationen wie folgt generieren:
var allArrays = [erster, zweiter, dritter];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
Hinweis: Die Reihenfolge der Elemente in jeder Kombination kann abhängig von der Reihenfolge der Arrays in der Variablen allArrays variieren.
Das obige ist der detaillierte Inhalt vonWie generiert man alle Kombinationen (kartesisches Produkt) von Werten aus JavaScript-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!