Maison >interface Web >js tutoriel >Comment puis-je fusionner deux tableaux d'objets basés sur une clé partagée sans itération de clé explicite ?

Comment puis-je fusionner deux tableaux d'objets basés sur une clé partagée sans itération de clé explicite ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 22:06:12309parcourir

How Can I Merge Two Arrays of Objects Based on a Shared Key Without Explicit Key Iteration?

Fusionner des tableaux d'objets basés sur une clé

Objectif

La tâche consiste à fusionner deux tableaux d'objets basés sur une clé commune sans parcourir leurs clés.

Exemple de scénario

Considérez les deux suivants arrays :

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

Array 2:
[
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
]

Le but est de fusionner ces tableaux en fonction de la clé id pour obtenir :

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

Solution sans itérer à travers les clés

Pour y parvenir sans itérer sur les clés d'objet :

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);

Ce code utilise la méthode Object.assign() pour fusionner les propriétés des objets à le même index dans les deux tableaux. Le résultat est un nouveau tableau avec les propriétés combinées des deux tableaux.

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