Maison >interface Web >js tutoriel >Comment puis-je regrouper et additionner des objets dans un tableau par une propriété spécifique à l'aide de jQuery ?

Comment puis-je regrouper et additionner des objets dans un tableau par une propriété spécifique à l'aide de jQuery ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-17 09:30:03669parcourir

How Can I Group and Sum Objects in an Array by a Specific Property Using jQuery?

Regrouper et additionner des objets dans un tableau

Pour regrouper un tableau d'objets par une propriété spécifique et résumer une autre propriété dans jQuery, vous peut utiliser les étapes suivantes :

1. Boucler et réduire :
Utilisez la fonction $.each() pour parcourir le tableau et pour chaque objet, vérifiez si un objet avec la même propriété de regroupement existe déjà dans le tableau de résultats. Sinon, créez un nouvel objet avec la propriété de regroupement et une quantité initiale de 0. Ajoutez cet objet au tableau de résultats.

2. Résumer les propriétés :
Dans la boucle, ajoutez la valeur de la propriété que vous souhaitez additionner (par exemple, la quantité) de l'objet actuel à l'objet correspondant dans le tableau de résultats. Cela accumule efficacement les quantités pour chaque groupe.

Voici un exemple de code utilisant jQuery :

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

var result = [];
$.each(array, function(i, obj) {
  var idx = result.findIndex(x => x.Id === obj.Id);
  if (idx === -1) {
    result.push({ Id: obj.Id, qty: 0 });
    idx = result.length - 1;
  }
  result[idx].qty += obj.qty;
});

console.log(result);

Ce code enregistrera le résultat suivant :

[
  { Id: "001", qty: 3 },
  { Id: "002", qty: 2 },
  { Id: "003", qty: 4 }
]

En suivant ces étapes, vous pouvez regrouper et additionner efficacement les propriétés des objets dans un tableau, vous permettant d'extraire des informations précieuses de votre donné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