我在一个项目中使用Backbone / lodash,希望根据特定的值合并2个对象数组。 使用下面的示例,合并是基于具有不同键(id和number)的相同值。
示例
var people = [
{
id: "1",
name: "John"
},
{
id: "2",
name: "Jane"
}
];
var data = [
{
number: "2",
role: "Designer"
},
{
number: "1",
role: "Developer"
}
];
// Outpout
var merge = [
{
id: "1",
number: "1",
name: "John",
role: "Developer"
},
{
id: "2",
number: "2",
name: "Jane",
role: "Designer"
}
];
data
项并在每个项上遍历一次people
以找到匹配项更好吗?除了将算法的复杂度从线性增加到二次方外,你的解决方案还会改变people
中的对象。我唯一看到的优点是你的解决方案隐藏了一些通过Array.prototype.find()
实现的复杂性。 - TimoStaudingerfind()
是如何完成其工作的呢? - TimoStaudingerArray.find()
。你理解我的意思! - Yosvel Quintero