Maison >interface Web >js tutoriel >Comment fusionner deux tableaux d'objets en JavaScript à l'aide de Array.prototype.push.apply() ?

Comment fusionner deux tableaux d'objets en JavaScript à l'aide de Array.prototype.push.apply() ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-22 22:37:13377parcourir

How to merge two arrays of objects in JavaScript using Array.prototype.push.apply()?

Fusionner deux tableaux d'objets : une solution JavaScript

La fusion de tableaux d'objets en JavaScript peut être une tâche courante. Ici, nous explorons une méthode simple mais efficace pour y parvenir en utilisant la fonction intrinsèque Array.prototype.push.apply().

Considérez l'exemple de scénario :

var arr1 = [{name: "lang", value: "English"},{name: "age", value: "18"}];
var arr2 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}];

Notre objectif est de fusionner ces deux tableaux en un seul tableau, appelé arr3, avec le contenu suivant :

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

Utilisation de jQuery $.extend() ne convient pas ici, car il ne fournit pas le résultat souhaité. Au lieu de cela, nous utilisons le code suivant :

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

console.log(arr1);

Ce code ajoute essentiellement les éléments de arr2 à la fin de arr1. Le résultat est un seul tableau contenant les objets fusionnés, les objets "lang" en double étant remplacés par cette dernière valeur.

Le résultat obtenu est :

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

Cette sortie correspond au tableau souhaité arr3, fusionnant efficacement les deux tableaux d'objets d'origine.

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