Heim >Web-Frontend >js-Tutorial >Wie kann man zwei JavaScript-Arrays von Objekten effizient zusammenführen?

Wie kann man zwei JavaScript-Arrays von Objekten effizient zusammenführen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-15 09:09:02266Durchsuche

How to Efficiently Merge Two JavaScript Arrays of Objects?

Arrays von Objekten in JavaScript zusammenführen

Angenommen, Sie haben zwei Arrays von Objekten:

var arr1 = [
  { name: "lang", value: "English" },
  { name: "age", value: "18" },
];

var arr2 = [
  { name: "childs", value: "5" },
  { name: "lang", value: "German" },
];

Sie möchten Führen Sie diese Arrays zu einem einzigen Array zusammen:

var arr3 = [
  { name: "lang", value: "German" },
  { name: "age", value: "18" },
  { name: "childs", value: "5" },
];

jQuerys $.extend()-Methode

Sie können zunächst die Verwendung von $.extend() in Betracht ziehen. Es entspricht jedoch nicht Ihren Anforderungen, da es lediglich das erste Array aktualisiert:

$.extend(arr1, arr2); // arr4 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}]

Verwenden von Array.prototype.push.apply()

A mehr Eine effektive Möglichkeit, die Arrays zusammenzuführen, ist die Verwendung von Array.prototype.push.apply():

Array.prototype.push.apply(arr1, arr2);

Diese Codezeile schiebt im Wesentlichen die Elemente von arr2 an das Ende von arr1. Das Ergebnis ist ein zusammengeführtes Array, das in arr1 gespeichert ist.

// Example

var arr1 = [
  { name: "lang", value: "English" },
  { name: "age", value: "18" },
];

var arr2 = [
  { name: "childs", value: "5" },
  { name: "lang", value: "German" },
];

Array.prototype.push.apply(arr1, arr2);

console.log(arr1); // final merged result will be in arr1

Ausgabe:

[
  { name: "lang", value: "English" },
  { name: "age", value: "18" },
  { name: "childs", value: "5" },
  { name: "lang", value: "German" },
]

Das obige ist der detaillierte Inhalt vonWie kann man zwei JavaScript-Arrays von Objekten effizient 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