Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下划线:在计算另一个字段的总计时按日期分组_Javascript_Underscore.js - Fatal编程技术网

Javascript 下划线:在计算另一个字段的总计时按日期分组

Javascript 下划线:在计算另一个字段的总计时按日期分组,javascript,underscore.js,Javascript,Underscore.js,我有一个具有以下结构的对象数组: [{date: 08/17/15, total: 20}, {date: 08/17/15, total: 10}, {date: 08/15/15, total: 15}, {date: 08/14/15, total: 20}] 我想按天对对象进行分组,同时对当天每个对象的“总计”字段进行合计。对于上面的数组,我希望得到如下结果: [{date: 08/17/15, total: 30}, {date: 08/15/15, total: 15}, {dat

我有一个具有以下结构的对象数组:

[{date: 08/17/15, total: 20}, {date: 08/17/15, total: 10}, {date: 08/15/15, total: 15}, {date: 08/14/15, total: 20}]
我想按天对对象进行分组,同时对当天每个对象的“总计”字段进行合计。对于上面的数组,我希望得到如下结果:

[{date: 08/17/15, total: 30}, {date: 08/15/15, total: 15}, {date: 08/14/15, total: 20}]
目前,我正在尝试使用下划线对日期进行分组,如下所示:

var groupedDates = _.groupBy(groupedValues, 'date', function(d) {
    return {
        date: d.date,
        total: d.total
    };
});

但是我很难把总数加起来。有什么帮助吗?

您可以借助reduce和find方法以非常简洁的方式解决它:

var data=[{date:'08/17/15',total:20},{date:'08/17/15',total:10},{date:'08/15/15',total:15},{date:'08/14/15',total:20}];
var结果=\减少(数据,函数(上一个,当前){
var found=u.find(prev,函数(el){return el.date==curr.date;});
已找到?(find.total+=当前总数):上一推送(u.clone(curr));
返回上一个;
}, []);
警报(JSON.stringify(result,null,4))
也可能是的副本,但会在Firefox中引发错误