Javascript 如何对具有相同键值的对象数组求和

Javascript 如何对具有相同键值的对象数组求和,javascript,jquery,Javascript,Jquery,我有一个对象数组,如下所示: var original_db = [ {date_diff:"2016/10/31", date_number:1,hangup_cause:"NORMAL_CLEARING"}, {date_diff:"2016/10/31", date_number:1,hangup_cause:"NORMAL_CLEARING"}, {date_diff:"2016/10/31", date_number:1,hangup_cause:"NO_ANS

我有一个对象数组,如下所示:

var original_db = [
            {date_diff:"2016/10/31", date_number:1,hangup_cause:"NORMAL_CLEARING"},
{date_diff:"2016/10/31", date_number:1,hangup_cause:"NORMAL_CLEARING"},
{date_diff:"2016/10/31", date_number:1,hangup_cause:"NO_ANSWER"},
{date_diff:"2016/10/31", date_number:1,hangup_cause:"ORIGINATOR-CANCEL"},
{date_diff:"2016/10/30", date_number:2,hangup_cause:"NORMAL_CLEARING"},
{date_diff:"2016/10/30", date_number:2,hangup_cause:"NO_ANSWER"},
{date_diff:"2016/10/30", date_number:2,hangup_cause:"NO_ANSWER"},
{date_diff:"2016/10/30", date_number:2,hangup_cause:"NO_ANSWER"},
{date_diff:"2016/10/29", date_number:3,hangup_cause:"NORMAL_CLEARING"},
{date_diff:"2016/10/29", date_number:3,hangup_cause:"ORIGINATOR-CANCEL"},
{date_diff:"2016/10/29", date_number:3,hangup_cause:"ORIGINATOR-CANCEL"},
        ];
以下是我的预期结果:

result : 
[
{date_diff : "2016/10/31", NORMAL_CLEARING : 2, NO_ANSWER : 1, ORIGINATOR-CANCEL : 1},
{date_diff : "2016/10/30", NORMAL_CLEARING : 1, NO_ANSWER : 3},
{date_diff : "2016/10/29", NORMAL_CLEARING : 1, ORIGINATOR-CANCEL : 2}
]
有没有一种简单的方法可以做到这一点?

在for循环的每次迭代中,检查日期编号是否与上一次迭代相同

如果日期不同,则将对象按入数组并重置它

此代码段正在运行

var原始数据库=[ {日期差异:2016/10/31,日期编号:1,挂断原因:正常清算}, {日期差异:2016/10/31,日期编号:1,挂断原因:正常清算}, {日期差异:2016/10/31,日期编号:1,挂断原因:无答案}, {日期差异:2016/10/31,日期编号:1,挂断原因:发起人-取消}, {日期差异:2016/10/30,日期编号:2,挂断原因:正常清算}, {日期差异:2016/10/30,日期编号:2,挂断原因:无答案}, {日期差异:2016/10/30,日期编号:2,挂断原因:无答案}, {日期差异:2016/10/30,日期编号:2,挂断原因:无答案}, {日期差异:2016/10/29,日期编号:3,挂断原因:正常清算}, {日期差异:2016/10/29,日期编号:3,挂断原因:发起人-取消}, {日期差异:2016/10/29,日期编号:3,挂断原因:发起人-取消}, ]; var resultar=[]; var resultObj={}; 风险值日期\单位编号=1;
对于i=0;艾耶斯。到目前为止,您尝试了什么?我尝试了以下代码….var dict={};对于i=0;i<原始长度;i++{var value=original_db[i][hangup_cause];var count=dict[value]| | 0+1;dict[value]=count;}…但结果不是我想要的。请检查并更新您的问题,以包括您尝试过的内容,否则这个问题就是。