Heim > Web-Frontend > js-Tutorial > Wie führt man JavaScript-Objekte effizient nach ID zusammen?

Wie führt man JavaScript-Objekte effizient nach ID zusammen?

DDD
Freigeben: 2024-11-29 20:22:15
Original
579 Leute haben es durchsucht

How to Efficiently Merge JavaScript Objects by ID?

JavaScript-Objekte nach ID zusammenführen

Frage:

Wie kann ich zwei JavaScript-Objekte effizient zusammenführen? Arrays von Objekten basierend auf einer gemeinsamen „id“-Eigenschaft, wobei zusätzliche Daten aus dem zweiten Array zum hinzugefügt werden zuerst?

Beispiel:

var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }]
var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]
Nach dem Login kopieren

Gewünschte Ausgabe:

var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]
Nach dem Login kopieren

Lösung:

Mit ES6 können Sie dies prägnant erreichen Lösung:

const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));
Nach dem Login kopieren

Diese Lösung nutzt die Methoden map() und find():

  • map(): Iteriert über jedes Element in a1 und Erstellt ein neues Objekt.
  • find(): Findet das Objekt in a2 mit derselben „id“ wie das aktuelle Element in a1.
  • Spread Operator ( ... ): Kombiniert die Eigenschaften des aktuellen Elements in a1 mit den Eigenschaften des entsprechenden Elements in a2.

Diese Methode führt effektiv die Objekte in a1 und a2 basierend auf der „id“-Eigenschaft zusammen und fügt alle zusätzlichen Eigenschaften von a2 zu den resultierenden Objekten in a3 hinzu.

Das obige ist der detaillierte Inhalt vonWie führt man JavaScript-Objekte effizient nach ID zusammen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage