Maison > interface Web > js tutoriel > le corps du texte

Comment regrouper et additionner un tableau d'objets par propriété à l'aide de jQuery ?

Barbara Streisand
Libérer: 2024-11-17 19:37:01
original
721 Les gens l'ont consulté

How to Group and Sum an Array of Objects by Property Using jQuery?

Comment regrouper et additionner un tableau d'objets par propriété à l'aide de jQuery

jQuery fournit des méthodes puissantes pour la manipulation des données, notamment la possibilité de regrouper des tableaux d'objets par propriétés communes et additionner leurs valeurs associées.

Solution

Pour réaliser ce regroupement et cette sommation avec jQuery :

  1. Parcourez le tableau d'objets à l'aide de la méthode .each().
  2. Pour chaque objet, vérifiez si la propriété Id existe déjà dans le tableau de résultats.
  3. S'il existe, incrémentez la valeur de quantité correspondante de la valeur de quantité de l'objet.
  4. Sinon, créez un nouvel objet dans le tableau de résultats avec le Propriété Id et une valeur de quantité égale à la valeur de quantité de l'objet.

Exemple de code

var array = [
  { Id: "001", qty: 1 },
  { Id: "002", qty: 2 },
  { Id: "001", qty: 2 },
  { Id: "003", qty: 4 }
];

var result = [];
$.each(array, function(index, object) {
  if (!$.inArray(object.Id, result)) {
    result.push({ Id: object.Id, qty: 0 });
  }
  $.grep(result, function(value) {
    if (value.Id === object.Id) {
      value.qty += object.qty;
    }
  });
});

console.log(result);
Copier après la connexion

Sortie :

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

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