gpt4 book ai didi

javascript - 如何使用javascript在下面的数组中添加相同的id数量?

转载 作者:行者123 更新时间:2023-12-03 10:12:32 26 4
gpt4 key购买 nike

我有两个数组

product_id = [5,5,10,15,5,15,22]
product_qty = [58,40,120,100,98,100,50]

(我已将表中的序列存储到数组中。id 和数量订单与我上面提到的相同。)

我想用他们的id来计算相同id的总数量。结果应该是

result_id = [5,10,15,22] //no duplicates
result_qty = [196,120,200,50] //sum to same id's quantity

如何在 JavaScript 中解决这个问题?

最佳答案

一种可能的解决方案(保持问题中指定的两个数组解决方案,尽管您可能想查看 Vineswaran 在注释中指定的哈希值)是遍历第一个数组(带有 ids)并推送值如果索引数组中不存在,则添加该值,如果索引数组中存在,则添加该值,如下所示:

var product_id = [5,5,10,15,5,15,22];
var product_qty = [58,40,120,100,98,100,50];

var result_id = [];
var result_qty = [];

// traverse the product ids array
$.each(product_id, function(idx, val) {
// check if that product id had a previous instance
var auxIdx = $.inArray(val, result_id)
if (auxIdx >= 0) {
// if it did, add the quantities
result_qty[auxIdx] += product_qty[idx];
} else {
// if it didn't, push both id and quantity into the result arrays
result_id.push(val);
result_qty.push(product_qty[idx]);
}
});

console.log(result_id);
console.log(result_qty);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

你也可以在这个 JSFiddle 上看到它:http://jsfiddle.net/pmkLcLdd/

关于javascript - 如何使用javascript在下面的数组中添加相同的id数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30044071/

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