Map - сумма значения по ключу
Добрый день.
Пытаюсь посчитать кол-во строк по ключу, все получилось: arr.map(v => [v.num, v.disp]).map(v => res[v] = (res[v] || 0) + 1); результат:
{
'321,AD': 1,
'123,AD': 1,
'123,ND': 1
}
Хочу посчитать сумму v.sec не получается, помогите, считает для всех 2 раза по каждому значению sec: arr.map(v => [v.num, v.sec]).map(v => res[v] =(v[1] || 0) +v[1]); Ожидается:
{
'321,sec': 12,
'123,sec': 32 }
Понимаю, что код в корне не верный. Данные:
let res= {};
outs =[
{
"sec": "12",
"disp": "AD",
"num": "321"
}, {
"sec": "12",
"disp": "AD",
"num": "123"
}, {
"sec": "20",
"disp": "ND",
"num": "123"
}];
|
repz,
let res= {};
outs =[
{
"sec": "12",
"disp": "AD",
"num": "321"
}, {
"sec": "12",
"disp": "AD",
"num": "123"
}, {
"sec": "20",
"disp": "ND",
"num": "123"
}];
res = outs.reduce((res, {sec, num}) => (res[`${num},sec`]=(res[`${num},sec`] || 0) + +sec, res), res);
console.log(res)
|
рони, как всегда, спасибо огромное.
|
| Часовой пояс GMT +3, время: 02:28. |