Heim >Web-Frontend >js-Tutorial >Wie kann man zwei Objektarrays basierend auf einem Schlüssel effizient zusammenführen, ohne Objektschlüssel zu iterieren?

Wie kann man zwei Objektarrays basierend auf einem Schlüssel effizient zusammenführen, ohne Objektschlüssel zu iterieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 02:43:14360Durchsuche

How to Efficiently Merge Two Object Arrays Based on a Key Without Iterating Object Keys?

Objekt-Arrays basierend auf einem Schlüssel zusammenführen, ohne über Objektschlüssel zu iterieren

Stellen Sie sich das Szenario mit zwei Objekt-Arrays vor:

const array1 = [
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
];

const array2 = [
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
];

Unser Ziel besteht darin, diese Arrays basierend auf der ID-Eigenschaft zusammenzuführen, wodurch ein Array entsteht, das die Eigenschaften beider kombiniert Objekte:

[
  { id: "abdc4051", date: "2017-01-24", name: "ab" },
  { id: "abdc4052", date: "2017-01-22", name: "abc" }
]

Um dies effizient zu erreichen, ohne eine Schleife über Objektschlüssel zu verwenden, können wir die Funktion „map()“ verwenden:

const mergedArray = array1.map((item, index) => Object.assign({}, item, array2[index]));

Dieser Ansatz verwendet Object.assign() Methode zum Zusammenführen der Eigenschaften entsprechender Objekte aus beiden Arrays in ein neues kombiniertes Objekt, das dann im mergedArray akkumuliert wird.

Das resultierende zusammengeführte Array erfüllt unsere Anforderung der Kombination der Eigenschaften basierend auf dem gemeinsam genutzten ID-Schlüssel, ohne dass iterative Schleifen über Objektschlüssel erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann man zwei Objektarrays basierend auf einem Schlüssel effizient zusammenführen, ohne Objektschlüssel zu iterieren?. 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