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

Comment pouvez-vous regrouper et additionner un tableau d'objets dans jQuery à l'aide de la méthode Reduction ?

Patricia Arquette
Libérer: 2024-11-23 06:17:22
original
243 Les gens l'ont consulté

How Can You Group and Sum an Array of Objects in jQuery Using the Reduce Method?

Regrouper et additionner un tableau d'objets dans jQuery : un guide détaillé

Regrouper et additionner des valeurs dans un tableau d'objets est une tâche courante en programmation. Dans jQuery, cela peut être réalisé efficacement en utilisant la méthode réduire().

Comprendre l'objectif

L'objectif est de regrouper un tableau d'objets en fonction d'une propriété spécifique , dans ce cas, la propriété "Id". Une fois les objets regroupés, la quantité (« quantité ») de chaque groupe doit être résumée.

Solution étape par étape

  1. Initialisation : Créez un tableau vide nommé result pour stocker les éléments groupés objets.
  2. Boucle à travers le tableau : Utilisez la méthode réduire() pour parcourir le tableau. Cette méthode prend deux fonctions en paramètres :

    • fonction accumulateur : Accumule les résultats des itérations précédentes. Il est généralement représenté par res ou acc.
    • value function : Traite l'élément actuel dans le tableau. Il est généralement représenté sous forme de valeur ou currentValue.
  3. Regroupement : Dans la méthode réduire(), vérifiez si l'objet accumulateur (res) a une propriété correspondant à celle de l'objet actuel. Propriété « Id ». Sinon, initialisez un objet avec le "Id" actuel comme propriété et une propriété "qty" initialisée à 0, et poussez cet objet dans le tableau de résultats.
  4. Résumation : Mettez à jour le Propriété "qty" de l'objet accumulateur correspondant au "Id" de l'objet courant en ajoutant la "qty" de l'objet courant value.
  5. Renvoyer le résultat : La méthode réduire() renvoie l'objet accumulateur final. Cet objet représente le tableau d'objets regroupés et additionnés.

Exemple de mise en œuvre

L'extrait de code jQuery suivant illustre les étapes décrites ci-dessus :

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

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;
}, {});

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

Ce code affichera le tableau d'objets regroupés et additionnés suivant :

[
  { 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