gpt4 book ai didi

javascript - 通过 2 个键连接 3 个 JavaScript 数组?

转载 作者:行者123 更新时间:2023-12-02 16:28:20 27 4
gpt4 key购买 nike

1.连接这3个数组的有效方法是什么:(欢迎使用lodash等示例)

 [
{ id : "A", year : 1990, x : 10}
{ id : "B", year : 1990, x : 10}
]

[
{ id : "A", year : 1990, y : 100}
{ id : "B", year : 1990, y : 100}
]

[
{ id : "A", year : 1990, z : 1000}
{ id : "B", year : 2000, z : 1000}
]

要获得此结果:

[
{ id : "A", year : 1990, x : 10, y: 100, z: 1000}
{ id : "B", year : 1990, x : 10, y: 100, z: 1000}
{ id : "B", year : 2000, z : 1000}
]

最佳答案

这是一个 lodash 解决方案。它本质上只是 idyear 上的 groupBy,然后是一个将所有匹配对象合并在一起的映射。

//assuming your three arrays are "a", "b", and "c"
_(a).concat(b).concat(c) //begin lodash chaining syntax, join arrays
.groupBy(function(obj) { //group by the combination of the id and year
return obj.id + "|" + obj.year;
})
.map(Function.apply.bind(_.merge, null)) //merge array of objects matching id and year into a single object
.value() //end lodash chaining syntax

关于javascript - 通过 2 个键连接 3 个 JavaScript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28526963/

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