Показать сообщение отдельно
  #1 (permalink)  
Старый 13.09.2022, 23:43
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

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, 13.09.2022 в 23:49.
Ответить с цитированием