返回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,这对我来说很有效,我只做了一个更正,那就是“==”。我想这是由于数组中值的性质。谢谢