Maison >interface Web >js tutoriel >Comment fusionner efficacement deux tableaux d'objets JavaScript ?

Comment fusionner efficacement deux tableaux d'objets JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 09:09:02286parcourir

How to Efficiently Merge Two JavaScript Arrays of Objects?

Fusionner des tableaux d'objets en JavaScript

Supposons que vous ayez deux tableaux d'objets :

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

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

Vous souhaitez fusionnez ces tableaux en un seul tableau :

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

Méthode $.extend() de jQuery

Vous pouvez initialement envisager d'utiliser $.extend(). Cependant, il ne répond pas à vos besoins, car il met simplement à jour le premier tableau :

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

Utilisation d'Array.prototype.push.apply()

Un plus Un moyen efficace de fusionner les tableaux est d'utiliser Array.prototype.push.apply():

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

Cette ligne de code pousse essentiellement les éléments de arr2 à la fin de arr1. Le résultat est un tableau fusionné stocké dans arr1.

// 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

Sortie :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn