Maison > interface Web > js tutoriel > Comment fusionner efficacement des objets JavaScript par ID ?

Comment fusionner efficacement des objets JavaScript par ID ?

DDD
Libérer: 2024-11-29 20:22:15
original
645 Les gens l'ont consulté

How to Efficiently Merge JavaScript Objects by ID?

Fusionner des objets JavaScript par identifiant

Question :

Comment puis-je fusionner efficacement deux objets JavaScript tableaux d'objets basés sur une propriété "id" commune, ajoutant des données supplémentaires du deuxième tableau au en premier ?

Exemple :

var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }]
var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]
Copier après la connexion

Sortie souhaitée :

var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]
Copier après la connexion

Solution :

En utilisant ES6, vous pouvez y parvenir avec un résumé concis solution :

const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));
Copier après la connexion

Cette solution exploite les méthodes map() et find() :

  • map() : itère sur chaque élément de a1 et crée un nouvel objet.
  • find() : Recherche l'objet dans a2 avec le même "id" que l'élément actuel dans a1.
  • Spread Operator ( ... ) : Combine les propriétés de l'élément actuel dans a1 avec les propriétés de l'élément correspondant dans a2.

Cette méthode fusionne efficacement les objets dans a1 et a2 en fonction de la propriété "id", en ajoutant toutes les propriétés supplémentaires de a2 aux objets résultants dans a3.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal