Maison >interface Web >js tutoriel >Comment fusionner efficacement des objets JavaScript par 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" }]
Sortie souhaitée :
var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]
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) }));
Cette solution exploite les méthodes map() et find() :
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!