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
DDDOriginal
2024-11-29 20:22:15579Durchsuche

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" }]

Gewünschte Ausgabe:

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

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) }));

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!

Stellungnahme:
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