gpt4 book ai didi

javascript - 合并数组并组合值

转载 作者:行者123 更新时间:2023-11-29 16:10:19 25 4
gpt4 key购买 nike

我正在尝试组合对象数组,同时根据特定值删除重复项,在本例中为 id。我想合并每个对象中的其他属性。

这是我的:

var myArray = [
{
id : 1,
rendering : 0,
completed : 1
},
{
id : 2,
rendering : 0,
completed : 1
},
{
id : 3,
rendering : 0,
completed : 1
},
{
id : 1,
rendering : 1,
completed : 0
},
{
id : 2,
rendering : 1,
completed : 0
},
{
id : 3,
rendering : 1,
completed : 0
},
]

这就是我想要的:

var myDesiredArray = [
{
id : 1,
rendering: 1,
completed: 1
},
{
id : 2,
rendering: 1,
completed: 1
},
{
id : 3,
rendering: 1,
completed: 1
},
]

我很乐意使用直接的 javascript 或下划线/lodash。任何建议将不胜感激。

最佳答案

使用下划线,这是一种方法

定义一个sum函数

function sum(numbers) {
return _.reduce(numbers, function(result, current) {
return result + parseFloat(current);
}, 0);
}

然后对 id 进行分组并提取所需的值并对它们应用求和。

_.chain(myArray )
.groupBy("id")
.map(function(value, key) {
return {
id: key,
rendering : sum(_.pluck(value, "rendering")),
completed: sum(_.pluck(value, "completed"))
}
})
.value();

关于javascript - 合并数组并组合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30379571/

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