gpt4 book ai didi

javascript - 如何在 underscore.js 中获取数组对象键的总和?

转载 作者:数据小太阳 更新时间:2023-10-29 05:19:21 25 4
gpt4 key购买 nike

我有以下数组:

var items = [
{price1: 100, price2: 200, price3: 150},
{price1: 10, price2: 50},
{price1: 20, price2: 20, price3: 13},
]

我需要获取包含所有键总和的对象,如下所示:

var result = {price1: 130, price2: 270, price3: 163};

我知道我可能只使用循环,但我正在寻找下划线样式的方法:)

最佳答案

不是很漂亮,但我认为最快的方法是这样做

_(items).reduce(function(acc, obj) {
_(obj).each(function(value, key) { acc[key] = (acc[key] ? acc[key] : 0) + value });
return acc;
}, {});

或者,如果你使用 lazy.js 而不是下划线,我认为它会比上面的更快:

_(items).chain()
.map(function(it) { return _(it).pairs() })
.flatten(true)
.groupBy("0") // groups by the first index of the nested arrays
.map(function(v, k) {
return [k, _(v).reduce(function(acc, v) { return acc + v[1] }, 0)]
})
.object()
.value()

关于javascript - 如何在 underscore.js 中获取数组对象键的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350454/

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