Maison > interface Web > js tutoriel > Comment agréger les valeurs de clés similaires dans un tableau d'objets JavaScript ?

Comment agréger les valeurs de clés similaires dans un tableau d'objets JavaScript ?

Susan Sarandon
Libérer: 2024-11-24 19:23:20
original
1017 Les gens l'ont consulté

How to Aggregate Values for Similar Keys in an Array of JavaScript Objects?

Valeurs agrégées pour des clés similaires dans un tableau d'objets

Étant donné un tableau d'objets, où chaque objet possède une clé nommée "nom" et une valeur correspondante, la tâche consiste à regrouper les objets par leur « nom » et à accumuler leurs propriétés de « valeur ». Par exemple, si nous avions le tableau suivant :

[
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]
Copier après la connexion

Le résultat souhaité serait :

[
    { 'name': 'P1', 'value': 300 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]
Copier après la connexion

Pour réaliser cette agrégation, nous pouvons adopter une approche itérative comme suit :

  1. Créer un objet pour contenir des paires nom-valeur : Commencez par créer un objet vide. Cet objet sera utilisé pour stocker les paires nom-valeur des objets.
  2. Parcourez le tableau et accumulez les valeurs : Parcourez le tableau d'objets en utilisant forEach. Pour chaque objet, vérifiez si la propriété « nom » de l'objet existe dans l'objet de stockage en tant que propriété. Si elle existe, ajoutez la propriété "value" de l'objet à la valeur existante. S'il n'existe pas, définissez la valeur de la propriété « nom » sur la propriété « valeur » de l'objet.
  3. Créez un nouveau tableau avec des objets agrégés : Une fois que toutes les valeurs ont été accumulées dans l'objet de maintien, créez un nouveau tableau. Parcourez les propriétés de l'objet détenteur et poussez de nouveaux objets avec les propriétés « nom » et « valeur » dans le tableau.

Cette approche itérative garantit que les objets portant le même « nom » sont regroupés et leurs propriétés de « valeur » sont accumulées en conséquence.

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