gpt4 book ai didi

javascript - 过滤唯一的数组值和总和值

转载 作者:行者123 更新时间:2023-12-03 07:27:50 25 4
gpt4 key购买 nike

我有以下 js 数组:

for(var j = 0; j < array.length; j++){
arr.push([array[j][0],array[j][1],array[j][2]]);
}

它翻译成这样:

数量、类型、数量

[[12345, "product", "10"],[12345, "product", "15"],[1234567, "other", "10"]]

我一直在尝试做的是过滤唯一的产品编号array[j][0]并对数量求和array[j][2]如果有多个,并且我能够通过执行以下操作来执行唯一的过滤器:

for(var o = 0; o < arr.length; o++){
if (!n[arr[o][1]]){
n[arr[o][1]] = true
r.push(arr[o]);
}
}

我希望你能帮助解决这个问题。我期望实现的是这样的:

[[12345, "product", "25"],[1234567, "other", "10"]]

由于产品 12345 重复,我只需要显示一次,并将具有相同产品编号的其他产品的数量相加。

最佳答案

var productIndex = {};
var result = [];
for (var i = 0; i < arr.length; i++) {
var productId = arr[i][0];
if (productIndex[productId] === undefined) {
productIndex[productId] = result.length;
result.push(arr[i]);
} else {
var index = productIndex[productId];
result[index][2] = String(+result[index][2] + +arr[i][2]);
}
}

关于javascript - 过滤唯一的数组值和总和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35928613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com