У меня есть данные, которые имеют массив season
и fielding
. Массив fielding
имеет 3 параметра Catches
, Runouts
, Stumpings
. Я хочу вычислить сумму Catches
, Stumpings
, Runouts
.
var data = [
{
season:2015,
fielding:{Catches:2, Runouts:1, Stumpings:1
},
{
season:2016,
fielding:{Catches:0, Runouts:1, Stumpings:1
},
{
season:2016,
fielding:{Catches:0, Runouts:0, Stumpings:0
},
{
season:2017,
fielding:{Catches:1, Runouts:3, Stumpings:1
},
{
season:2017,
fielding:{Catches:2, Runouts:1, Stumpings:2
}
]
Я хочу получить окончательный вывод как объект:
Catches -> 2+0+0+1+2 = 5
Runouts -> 1+1+0+3+1 = 6
Stumpings -> 1+1+0+1+2 =5
Что я пробовал:
let dismissals = data.reduce( (a,{season, fielding}) => {
if(!a[fielding.Catches]){
a[fielding.Catches] = {};
}else if(a[fielding.Runouts]){
a[fielding.Runouts] = {};
}else if(a[fielding.Stumpings]){
a[fielding.Stumpings] = {};
}else{
a[fielding.Stumpings] += 1;
a[fielding.Runouts] += 1;
a[fielding.Catches] += 1;
}
return a;
}, {});
Мой код не рассчитывает требуемый вывод и выдает NaN
.