Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 14.09.2022, 07:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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)
Ответить с цитированием
  #3 (permalink)  
Старый 14.09.2022, 12:40
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

рони, как всегда, спасибо огромное.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google map API: поиск места и получение координат. test2542 Общие вопросы Javascript 1 26.02.2019 11:17
Массив из значений чекбоксов,максимальное значение и сумма результата с др. значе-ями Евгенион Общие вопросы Javascript 5 23.10.2017 07:44
Ссылки на координаты GOOGLE MAP nikelodion Элементы интерфейса 1 31.05.2017 20:04
Google maps markers удаление маркеров удаляет всю карту Ducol Events/DOM/Window 2 02.09.2016 12:06
Получить значения ассоциативного массива по ключу TITO Общие вопросы Javascript 2 11.01.2014 16:42