Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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_Arrays_Sorting - Fatal编程技术网

返回javascript数组中重复元素的总和

返回javascript数组中重复元素的总和,javascript,arrays,sorting,Javascript,Arrays,Sorting,我已经查看了论坛,看看我是否能回答这个问题,但到目前为止,我还没有。我有一个二维数组,我想把它们的值相加,如果它们是相同的。这里有一个例子 CAR CAH 394 CAR CAH 96 CAR CAP 268 DOR CAF 71 DOR CAP 96 DOR CAP 268 VAC GILAB 71 对数组排序后,我得到了上面的值。如何将arraylist中

我已经查看了论坛,看看我是否能回答这个问题,但到目前为止,我还没有。我有一个二维数组,我想把它们的值相加,如果它们是相同的。这里有一个例子

 CAR      CAH     394
 CAR      CAH     96
 CAR      CAP     268
 DOR      CAF     71
 DOR      CAP     96
 DOR      CAP     268
 VAC      GILAB   71
对数组排序后,我得到了上面的值。如何将arraylist中的所有重复项相加。在这种情况下,它将影响CAR | CAH和DOR | CAP。因此,与其返回重复项,不如返回一个与之相加的和。

如果我正确理解您的要求(因为它确实不是很清楚),并且假设您的数组已经排序,那么我可以使用以下方法实现您想要的:

var源=[
[“CAR”,“CAH”,394],
[“CAR”,“CAH”,96],
[“汽车”、“帽子”,268],
[“DOR”,“CAF”,71],
[“DOR”,“CAP”,96],
[“DOR”,“CAP”,268],
[“VAC”,“GILAB”,71]
];
var last;
var FOLD=来源.减少(函数(上一个,当前){
如果(最后){
如果(上次[0]==当前[0]&&last[1]==当前[1]){
最后[2]+=当前[2];
返回上一个;
}
}
最后=当前;
上推(当前);
返回上一个;
},[]);

警报(JSON.stringify(折叠))
此类问题并不真正符合本网站的目的。我们在这里更多地帮助解决具体问题。通常,您必须先编写一些代码,但这不是导致错误,就是行为不正确。请先尝试自己的解决方案,然后询问您在哪里挂断的问题。
我想总结一下它们的值,如果它们是相同的
如果什么是相同的?你的问题不太清楚。你有两个字符串和一个数字。如果两个字符串与另一行相同,您是否将它们相加?把你的来源和你期望的输出与你尝试过的东西一起放在问题中。期望值是:CAH 490 CAR CAP 268 DOR CAF 71 DOR CAP 364 VAC GILAB 71yea,这对我来说很有效,我只做了一个更正,那就是“==”。我想这是由于数组中值的性质。谢谢