Привет. Я использую следующую функцию для группировки по ключу и вычисления итогов:
calcEquipmentTotals(){
var groups = this.inspection.equipments.reduce(function(obj,item){
obj[item.equipment_type_id] = obj[item.equipment_type_id] || { equipment_type_id: item.equipment_type_id, total: 0};
// Calculate total based on action
var total = obj[item.equipment_type_id].total;
if(item.action === 'added' || item.action === 'stocktake'){
total = total + item.quantity;
}else{
total = total - item.quantity;
};
obj[item.equipment_type_id].total = total;
return obj;
},[]);
return groups;
}
Это прекрасно работает, за исключением того, что первый элемент - пустой объект, что я тут не так делаю?
[ null, { "equipment_type_id": 1, "total": 1 }, { "equipment_type_id": "2", "total": 10 } ]