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
Libérer: 2024-12-08 22:06:12
original
265 Les gens l'ont consulté

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" }
]
Copier après la connexion

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" }
]
Copier après la connexion

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);
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal