Heim >Web-Frontend >js-Tutorial >Wie kann ich zwei Arrays von Objekten basierend auf einem gemeinsamen Schlüssel ohne explizite Schlüsseliteration zusammenführen?

Wie kann ich zwei Arrays von Objekten basierend auf einem gemeinsamen Schlüssel ohne explizite Schlüsseliteration zusammenführen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-08 22:06:12309Durchsuche

How Can I Merge Two Arrays of Objects Based on a Shared Key Without Explicit Key Iteration?

Arrays von Objekten basierend auf einem Schlüssel zusammenführen

Ziel

Die Aufgabe besteht darin, zwei Arrays von Objekten basierend auf einem gemeinsamen Schlüssel ohne Iteration zusammenzuführen ihre Schlüssel.

Beispielszenario

Betrachten Sie die folgenden beiden Arrays:

Array 1:
[
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
]

Array 2:
[
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
]

Das Ziel besteht darin, diese Arrays basierend auf dem ID-Schlüssel zusammenzuführen, um Folgendes zu erhalten:

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

Lösung ohne Iterieren durch Schlüssel

Um dies ohne zu erreichen Durchlaufen von Objektschlüsseln:

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

let arr2 = [
    { id: "abdc4051", name: "ab" },
    { id: "abdc4052", name: "abc" }
];

let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));

console.log(arr3);

Dieser Code verwendet die Object.assign()-Methode, um die Eigenschaften von Objekten gleichzeitig zusammenzuführen Index in beiden Arrays. Das Ergebnis ist ein neues Array mit den kombinierten Eigenschaften beider Arrays.

Das obige ist der detaillierte Inhalt vonWie kann ich zwei Arrays von Objekten basierend auf einem gemeinsamen Schlüssel ohne explizite Schlüsseliteration zusammenführen?. 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