이 존재하는 객체의 배열과 같이 어디가'범주는'키고 일부는'시'키를 사용합니다.
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
},
]
(참고로'카테고리 확인할 수 있게 되었습니다 거의 모든 값을,하지만 가능성이 있을 것을 여러 개의 유사한 값뿐만 아니라 몇 가지 독특한 값을 예를 들어 여러 개 있는 객체와 함께'category'value'카테고리 3'그러나 단지 1'category'value'카테고리 2')
다음과 같은 줄의 코드를 추가 모두 series_1 개체에 대한 동일한 카테고리
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]
});
}
그래서 그것은 결과는:
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
}
]
그러나고 싶어를 추가할 수 있지만 series_1 하지만 또한 다른 모든 항목입니다.
이 예제는 단지 카테고리 series_1 및 series_2 으로 키가 있습니다. 그러나,있을 수 있습니다.
- series_3
- series_4
- series_5
- series_6
- series_7
- 등등....
나는 어떻게 계정에 대한 모든 잠재적인 series_x?
의도한 결과:
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
를 처음 개체만,그것으로 끝나series_3: NaN
에서 결과입니다.