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, время: 00:48. |