Implementierung des kartesischen Produkts mehrerer Arrays in JavaScript
Das kartesische Produkt mehrerer Arrays umfasst jede mögliche Kombination von Elementen aus den Eingabearrays. Diese Operation ist wichtig, um alle möglichen Kombinationen oder Permutationen aus einem Datensatz zu generieren.
Die einzeilige Antwort (ES2020)
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
Erklärung
Das kartesische Produkt wird im Folgenden berechnet Art und Weise:
Beispiel
Um das kartesische Produkt auf Arrays mit Werten anzuwenden, betrachten Sie das folgende Beispiel:
const output = cartesian([1, 2], [10, 20], [100, 200, 300]);
Die erwartete Ausgabe ist:
[ [1, 10, 100], [1, 10, 200], [1, 10, 300], [1, 20, 100], [1, 20, 200], [1, 20, 300], [2, 10, 100], [2, 10, 200], [2, 10, 300], [2, 20, 100], [2, 20, 200], [2, 20, 300], ]
Dies zeigt die Berechnung aller möglichen Kombinationen von Elemente aus den angegebenen Arrays, was zu einem vollständigen kartesischen Produkt führt.
Das obige ist der detaillierte Inhalt vonWie kann man das kartesische Produkt mehrerer Arrays in JavaScript effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!