Maison > interface Web > Questions et réponses frontales > Analyse approfondie de l'opération de somme de groupe de JavaScript

Analyse approfondie de l'opération de somme de groupe de JavaScript

PHPz
Libérer: 2023-04-06 10:53:04
original
1390 Les gens l'ont consulté

Javascript est un langage de programmation puissant doté de nombreuses fonctions de traitement de données et de calcul. Parmi eux, la sommation de groupe est une fonction importante qui peut nous aider à effectuer une analyse et un traitement approfondis de données complexes.

Nous pouvons utiliser la méthode array en Javascript pour effectuer des opérations de somme de groupe. Par exemple, nous avons un tableau contenant plusieurs ensembles de données, chaque ensemble de données contient un nom et une valeur correspondante. Nous voulons maintenant regrouper ces données par nom et calculer la valeur totale de chaque groupe.

Tout d'abord, nous pouvons regrouper les données en utilisant la méthode de réduction en Javascript. La méthode de réduction peut parcourir le tableau et utiliser un accumulateur pour enregistrer le regroupement des données. Ensuite, nous pouvons définir un objet vide pour enregistrer les données groupées :

const data = [
  { name: "Group A", value: 10 },
  { name: "Group B", value: 15 },
  { name: "Group A", value: 20 },
  { name: "Group B", value: 25 },
  { name: "Group C", value: 30 },
];

const groupedData = data.reduce((acc, cur) => {
  if (!acc[cur.name]) {
    acc[cur.name] = [];
  }
  acc[cur.name].push(cur.value);
  return acc;
}, {});
Copier après la connexion

Après avoir exécuté le code ci-dessus, nous obtiendrons un objet contenant les données groupées :

{
  "Group A": [10, 20],
  "Group B": [15, 25],
  "Group C": [30]
}
Copier après la connexion

Ensuite, nous pouvons utiliser map en Javascript. La méthode effectue un calcul de somme sur les données groupées données. La méthode map peut parcourir le tableau et effectuer l'opération spécifiée sur chaque élément. Ici, nous additionnons chaque tableau de données groupées et stockons le résultat dans un nouveau tableau :

const summedGroups = Object.keys(groupedData).map((groupName) => {
  const groupValues = groupedData[groupName];
  const sum = groupValues.reduce((acc, cur) => acc + cur);
  return { name: groupName, value: sum };
});
Copier après la connexion

Après avoir exécuté le code ci-dessus, nous obtiendrons un tableau contenant les données additionnées regroupées :

[
  { name: "Group A", value: 30 },
  { name: "Group B", value: 40 },
  { name: "Group C", value: 30 }
]
Copier après la connexion

Enfin, nous pouvons afficher les résultats ou les utiliser d'une autre manière. Le code complet est le suivant :

const data = [
  { name: "Group A", value: 10 },
  { name: "Group B", value: 15 },
  { name: "Group A", value: 20 },
  { name: "Group B", value: 25 },
  { name: "Group C", value: 30 },
];

const groupedData = data.reduce((acc, cur) => {
  if (!acc[cur.name]) {
    acc[cur.name] = [];
  }
  acc[cur.name].push(cur.value);
  return acc;
}, {});

const summedGroups = Object.keys(groupedData).map((groupName) => {
  const groupValues = groupedData[groupName];
  const sum = groupValues.reduce((acc, cur) => acc + cur);
  return { name: groupName, value: sum };
});

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

Grâce au code ci-dessus, nous pouvons facilement effectuer des opérations de somme de groupe sur des tableaux en Javascript, obtenant ainsi un traitement des données et des calculs plus efficaces.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal