Ermitteln aller Kombinationen (kartesisches Produkt) von JavaScript-Array-Werten
Um alle Kombinationen von Werten in einem Satz von JavaScript-Arrays zu ermitteln, verwenden wir Rekursion. Im Gegensatz zu Permutationen versucht dieser Prozess, Elemente über mehrere Arrays hinweg zu kombinieren, anstatt Elemente innerhalb eines einzelnen Arrays neu anzuordnen.
Hier ist eine rekursive Lösung, die das kartesische Produkt der gegebenen Arrays generiert:
<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>
Wenn beispielsweise die Eingabearrays gegeben sind:
<code class="js">var first = ['a', 'b', 'c', 'd']; var second = ['e']; var third = ['f', 'g', 'h', 'i', 'j'];</code>
Die allPossibleCases-Funktion würde die folgenden Kombinationen ausgeben:
aef aeg aeh aei aej bef beg
... und so weiter und so alle möglichen Kombinationen von Elementen aus erzeugen drei Eingabearrays.
Das obige ist der detaillierte Inhalt vonWie generiert man alle Kombinationen von JavaScript-Array-Werten mithilfe der Rekursion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!