Heim > Web-Frontend > js-Tutorial > Wie kann ich in JavaScript effizient kartesische Produkte von Arrays generieren?

Wie kann ich in JavaScript effizient kartesische Produkte von Arrays generieren?

Patricia Arquette
Freigeben: 2024-12-16 07:13:10
Original
675 Leute haben es durchsucht

How Can I Efficiently Generate Cartesian Products of Arrays in JavaScript?

Kartesische Produkte von Arrays in JavaScript generieren

Das Berechnen des kartesischen Produkts mehrerer Arrays ist eine häufige Aufgabe in der Programmierung. Dabei werden Elemente aus jedem Array kombiniert, um neue Arrays zu erstellen, die alle möglichen Kombinationen enthalten. Um dies in JavaScript zu erreichen, können wir verschiedene Ansätze anwenden.

Ein einfacher, aber veralteter Ansatz erfordert die Iteration über jedes Array und die manuelle Generierung aller möglichen Kombinationen. Allerdings wird diese Methode bei großen Datensätzen ineffizient. Stattdessen können wir fortschrittliche Techniken in ES6 und ES2019 nutzen, um den Prozess deutlich zu vereinfachen.

Optimierte 2020-Lösung

Mit der Einführung von flatMap in ES2019 können wir die kartesische Produktberechnung auf ein einziges reduzieren prägnante Codezeile:

const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
Nach dem Login kopieren

Beispielverwendung

An Zur Veranschaulichung betrachten wir das in Ihrer Frage bereitgestellte Beispiel:

const output = cartesian([1, 2], [10, 20], [100, 200, 300]);
Nach dem Login kopieren

Dieser Befehl generiert das folgende kartesische Produkt:

[
  [ 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 ]
]
Nach dem Login kopieren

Schlussfolgerung

Durch die Nutzung moderner JavaScript-Funktionen Wir können komplexe Aufgaben wie kartesische Produktberechnungen mit bemerkenswerter Leichtigkeit bewältigen. Ganz gleich, ob es um die Entwicklung von Algorithmen oder die Datenmanipulation geht, diese Techniken ermöglichen es Entwicklern, effizienter und eleganter zu programmieren.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript effizient kartesische Produkte von Arrays generieren?. 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