var dataRow = [{id:1, sum: 10}, {id:2, sum: 15}, {id:1, sum: 20}];
var obj = {};
$(dataRow).each(function(e, i){
obj[i.id] = i.sum;
});
console.log(obj)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
На выходе получается:
{
"1": 20,
"2": 15
}
а надо чтобы у объектов с одинаковым значением id
суммировался sum
на выходе должен получится объект вот в таком виде:
{
"1": 30, // 10 + 20
"2": 15
}
Замените простое присваивание
obj[i.id] = i.sum;
на присваивание со сложением, например вот так
obj[i.id] = (obj[i.id] || 0) + i.sum;
var dataRow = [{id:1, sum: 10}, {id:2, sum: 15}, {id:1, sum: 20}];
var obj = {};
$(dataRow).each(function(e, i){
obj[i.id] = (obj[i.id] || 0) + i.sum;
});
console.log(obj)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При вводе значения в поле ( цифры от 1 до 100 ) должны создаваться колонки таблицы с полями <input>
Не получается сделать складывание и вычитание к value по нажатию кнопокЗначение input принимает, но в String, а прибавить к нему не получается, прибавляются...