JavaScript bietet eine einfache Möglichkeit, das kartesische Produkt mehrerer Arrays zu bestimmen. Das kartesische Produkt beinhaltet die Kombination von Elementen aus jedem Array, um ein neues Array zu bilden, was zu jeder möglichen Kombination führt.
Bei gegebenen Arrays [1, 2] und [10, 20] wäre das kartesische Produkt beispielsweise: [[1, 10], [1, 20], [2, 10], [2, 20]].
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
Diese Lösung nutzt zwei wichtige JavaScript-Funktionen:
Array.reduce(...): Es wird verwendet, um die Arrays rekursiv zu kombinieren, wobei jeder Schritt Folgendes ausführt:
let output = cartesian([1, 2], [10, 20], [100, 200, 300]);
Dies würde Folgendes ergeben:
[[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]]
JavaScript wird fortgesetzt Weiterentwicklung und die in ECMAScript 2020 eingeführten neuen Funktionen ermöglichen es uns, prägnanteren und effizienteren Code zu schreiben. Diese verbesserte Lösung demonstriert die Leistungsfähigkeit von modernem JavaScript für komplexe Probleme.
Das obige ist der detaillierte Inhalt vonWie kann ich das kartesische Produkt mehrerer Arrays in JavaScript berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!