Il existe un tableau d'objets comme s'il y a une "catégorie" de la clé et de certains de la série des "clés".
arrOne = [
{
"series_1": 25,
"category": "Category 1",
"series_2": 50
},
{
"series_1": 11,
"category": "Category 2",
"series_2": 22
},
{
"series_1": 32,
"category": "Category 1",
"series_2": 74
},
{
"series_1": 74,
"category": "Category 3",
"series_2": 98
},
{
"series_1": 46,
"category": "Category 3",
"series_2": 29
},
]
(Notez que "catégorie" peut être à peu près n'importe quelle valeur, mais il y aura probablement plusieurs des valeurs similaires ainsi que certaines valeurs uniques par exemple, il y a plusieurs objets à la "catégorie" valeur "Catégorie 3" mais seulement 1 avec 'catégorie' valeur 'de la Catégorie 2')
Les lignes de code suivantes seront toutes series_1 pour les objets de la même catégorie
var objForAllCategories = {};
this.arrOne.forEach(item => {
if (objForAllCategories.hasOwnProperty(item.category))
objForAllCategories[item.category] = objForAllCategories[item.category] + item.series_1;
else
objForAllCategories[item.category] = item.series_1;
});
for (var prop in objForAllCategories) {
this.allCategoriesAndValues.push({
category: prop,
series_1: objForAllCategories[prop]
});
}
Donc il aura les résultats suivants:
allCategoriesAndValues = [
{
"category": "Category 1",
"series_1": 57 // 25 + 32 adding up series_1 from all 'Category 1' items in arrOne
},
{
"category": "Category 2",
"series_1": 11 // only 1 'Category 2' from arrOne
},
{
"category": "Category 3",
"series_1": 120 // 74 + 46 adding up series_1 from all 'Category 3' items in arrOne
}
]
Cependant, je veux être en mesure d'ajouter non seulement series_1 mais aussi tous les autres éléments.
Cet exemple n'a catégorie et series_1 et series_2 que les clés. Toutefois, il pourrait y avoir:
- series_3
- series_4
- series_5
- series_6
- series_7
- etc..
Comment puis-je tenir compte de toutes les series_x?
Résultat prévu:
allCategoriesAndValues = [
{
"category": "Category 1",
"series_1": 57,
"series_2": 124,
..... if 'series_3', 'series_4' etc. existed, it would be included in this as above
},
{
"category": "Category 2",
"series_1": 11,
"series_2": 22,
..... if 'series_3', 'series_4' etc. existed, it would be included in this as above
},
{
"category": "Category 3",
"series_1": 120,
"series_2": 127,
..... if 'series_3', 'series_4' etc. existed, it would be included in this as above
}
]
series_3: 5
pour premier objet, il finitseries_3: NaN
dans le résultat.