Maison >interface Web >js tutoriel >Comment puis-je fusionner efficacement deux tableaux d'objets basés sur une clé commune ?

Comment puis-je fusionner efficacement deux tableaux d'objets basés sur une clé commune ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-07 09:14:16331parcourir

How Can I Efficiently Merge Two Arrays of Objects Based on a Common Key?

Fusionner des tableaux d'objets avec une clé commune

Considérons deux tableaux d'objets :

Array 1:
[
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
]
Array 2:
[
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
]

Pour fusionner ces tableaux en fonction de la propriété id, une solution concise consiste à exploiter la fonction map() et Object.assign().

En utilisant map(), nous parcourons le tableau 1. Pour chaque objet, nous créons un nouvel objet qui combine les propriétés des deux objets au même index dans le tableau 1 et le tableau 2. Ce nouvel objet est stocké dans arr3.

let arr1 = [
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
];

let arr2 = [
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
];

let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));

console.log(arr3);

Cela permet d'obtenir le résultat souhaité :

[
  { id: "abdc4051", date: "2017-01-24", name: "ab" },
  { id: "abdc4052", date: "2017-01-22", name: "abc" }
]

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