Maison > interface Web > js tutoriel > Comment regrouper et additionner un tableau d'objets par une clé en JavaScript ?

Comment regrouper et additionner un tableau d'objets par une clé en JavaScript ?

Susan Sarandon
Libérer: 2024-11-23 03:33:22
original
620 Les gens l'ont consulté

How to Group and Sum an Array of Objects by a Key in JavaScript?

Regrouper et additionner un tableau d'objets par une clé

En JavaScript, vous pouvez regrouper un tableau d'objets par une clé et une somme spécifiques les valeurs associées à cette clé à l'aide des puissants outils de jQuery. Voici comment y parvenir :

var array = [
  { Id: '001', qty: 1 },
  { Id: '002', qty: 2 },
  { Id: '001', qty: 2 },
  { Id: '003', qty: 4 }
];
Copier après la connexion

Bouclage et sommation

Une méthode efficace consiste à parcourir le tableau et à accumuler les valeurs à l'aide de la méthode réduire() . Cette méthode prend une fonction de rappel qui réduit le tableau à une seule valeur, dans ce cas, un objet représentant les valeurs groupées.

var result = [];
array.reduce(function (res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id]);
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});
Copier après la connexion

Sortie :

[
  { Id: '001', qty: 3 },
  { Id: '002', qty: 2 },
  { Id: '003', qty: 4 }
]
Copier après la connexion

Cette solution regroupe efficacement les objets par la clé Id et additionne les valeurs de quantité correspondantes, ce qui donne un tableau d'objets avec des valeurs regroupées et additionné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!

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