Somme d'un tableau d'objets en JavaScript

Shivam Arora 12 octobre 2023
  1. Utilisez la fonction reduce pour additionner les valeurs d’un tableau d’objets en JavaScript
  2. Utilisez les fonctions map() et reduce() pour additionner les valeurs d’un tableau d’objets en JavaScript
Somme d'un tableau d'objets en JavaScript

Un tableau peut stocker des types d’éléments similaires, et cela inclut également des objets.

Dans cet article, nous allons apprendre des moyens meilleurs et efficaces pour additionner les valeurs d’un tableau d’objets en JavaScript.

Dans nos exemples, nous additionnerons le Amount pour tous les objets du tableau suivant.

fruits = [
  {description: 'orange', Amount: 50},
  {description: 'orange', Amount: 50},
  {description: 'apple', Amount: 75},
  {description: 'kiwi', Amount: 35},
  {description: 'watermelon', Amount: 25},
];

Utilisez la fonction reduce pour additionner les valeurs d’un tableau d’objets en JavaScript

Nous pouvons créer une fonction appelée sum() et utiliser la méthode reduce() pour réduire le tableau à une seule valeur, qui est la somme de toutes les valeurs du tableau.

Cette méthode permet de filtrer et de mapper la valeur simultanément en un seul passage.

Nous l’implémentons dans le code suivant.

class fruitCollection extends Array {
  sum(key) {
    return this.reduce((a, b) => a + (b[key] || 0), 0);
  }
}
const fruit = new fruitCollection(
    ...[{description: 'orange', Amount: 50},
        {description: 'orange', Amount: 50},
        {description: 'apple', Amount: 75},
        {description: 'kiwi', Amount: 35},
        {description: 'watermelon', Amount: 25},
]);

console.log(fruit.sum('Amount'));

Production:

235

Utilisez les fonctions map() et reduce() pour additionner les valeurs d’un tableau d’objets en JavaScript

La fonction map() construit un nouveau tableau en changeant respectivement la valeur de chaque élément d’un tableau. Ensuite, la fonction de filtre est utilisée pour supprimer les valeurs qui n’entrent pas dans cette catégorie. Enfin, la fonction reduce() prend toutes les valeurs et renvoie une seule valeur, qui est la somme requise.

Par example,

fruits = [
  {description: 'orange', Amount: 50},
  {description: 'orange', Amount: 50},
  {description: 'apple', Amount: 75},
  {description: 'kiwi', Amount: 35},
  {description: 'watermelon', Amount: 25},
];
const sumall =
    fruits.map(item => item.amount).reduce((prev, curr) => prev + curr, 0);
console.log(sumall);

Production:

235

Article connexe - JavaScript Object