Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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_Jquery_Arrays - Fatal编程技术网

Javascript 如果条件匹配,则对数组中的参数求和

Javascript 如果条件匹配,则对数组中的参数求和,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组,如下所示 var arr = [ {'ResId':123,'ResVal':4,'Date':'11/03/2015'}, {'ResId':123,'ResVal':8,'Date':'11/03/2015'}, {'ResId':123,'ResVal':4,'Date':'13/03/2015'}, {'ResId':123,'ResVal':4,'Date':'13/03/2015'}, {'ResId':223,'ResV

我有一个数组,如下所示

    var arr = [
    {'ResId':123,'ResVal':4,'Date':'11/03/2015'},
    {'ResId':123,'ResVal':8,'Date':'11/03/2015'},
    {'ResId':123,'ResVal':4,'Date':'13/03/2015'},
    {'ResId':123,'ResVal':4,'Date':'13/03/2015'},
    {'ResId':223,'ResVal':4,'Date':'12/03/2015'},
    {'ResId':223,'ResVal':2,'Date':'12/03/2015'},
    {'ResId':223,'ResVal':4,'Date':'13/03/2015'},
    {'ResId':765,'ResVal':4,'Date':'13/03/2015'}]
如果ResId和Date都匹配,我想对ResVal的值求和。 假设在上面的数组中,ResId=123和Date=11/03/2015有两个条目,那么我将把它们相加,创建一个ResId=123、Date=11/03/2015和ResVal=12的条目

我需要这是动态的,因为所有3个参数的值会一直不同

我得到的数组应该如下所示

[{'ResId':123,'ResVal':12,'Date':'11/03/2015'},
{'ResId':123,'ResVal':8,'Date':'13/03/2015'},
{'ResId':223,'ResVal':6,'Date':'12/03/2015'},
{'ResId':223,'ResVal':8,'Date':'13/03/2015'}]
此外,我还需要使用纯JS/Jquery完成此操作。

这是一个带有和的提案。
var-arr=[
{'ResId':123,'ResVal':4,'Date':'11/03/2015'},
{'ResId':123,'ResVal':8,'Date':'11/03/2015'},
{'ResId':123,'ResVal':4,'Date':'13/03/2015'},
{'ResId':123,'ResVal':4,'Date':'13/03/2015'},
{'ResId':223,'ResVal':4,'Date':'12/03/2015'},
{'ResId':223,'ResVal':2,'Date':'12/03/2015'},
{'ResId':223,'ResVal':4,'Date':'13/03/2015'},
{'ResId':765,'ResVal':4,'Date':'13/03/2015'}],
减少=减少(功能(r,a){
!r.some(函数(b){
如果(a.Date==b.Date&&a.ResId==b.ResId){
b、 ResVal+=a.ResVal;
返回true;
}
})&&r.push({ResId:a.ResId,ResVal:a.ResVal,Date:a.Date});
返回r;
}, []);

document.write(''+JSON.stringify(reduced,0,4)+'')你的问题是什么?JS新手,对我该怎么做感到困惑。你真的需要展示你的尝试,而不是只是来到这里告诉人们你想要什么。编程就是为了解决问题,那么你在试图解决这个问题时到底遇到了什么困难呢?这个
{'ResId':223,'ResVal':8,'Date':'13/03/2015'}
的结果可能是错误的。。。