Maison >interface Web >js tutoriel >Comment puis-je convertir un tableau d'objets en un seul objet en JavaScript ?

Comment puis-je convertir un tableau d'objets en un seul objet en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-07 09:48:12271parcourir

How Can I Convert an Array of Objects into a Single Object in JavaScript?

Conversion d'un tableau d'objets en un seul objet

En JavaScript, la conversion d'un tableau d'objets en un seul objet peut être réalisée à l'aide d'un objet la déstructuration et la méthode réduire(). Considérez le tableau d'objets suivant :

[
  { key: '11', value: '1100' },
  { key: '22', value: '2200' }
]

Solution :

Pour convertir ce tableau en l'objet souhaité, suivez ces étapes :

  1. Utilisez la méthode réduire() pour parcourir le tableau et accumuler la valeur-clé paires :
const object = arr.reduce((obj, item) => {
  return Object.assign(obj, { [item.key]: item.value });
}, {});
  1. La méthode Object.assign() fusionne les propriétés du deuxième objet (dans ce cas, { [item.key]: item.value }) dans le premier objet (l'accumulateur obj).
  2. La valeur initiale de obj est un objet vide, donc la première itération crée la propriété key avec la valeur stockée dans la propriété item.key. De même, la deuxième itération ajoute la propriété 22 avec la valeur dans item.value.
  3. L'objet résultant est affecté à la variable objet.

Sortie :

La consommation de la variable objet donnera le résultat souhaité :

{
  "11": "1100",
  "22": "2200"
}

Cette solution transforme efficacement le tableau d'objets en un seul objet avec les paires clé-valeur souhaitées.

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