我使用Backbone/lodash作爲項目,我希望根據特定值合併2個對象數組。在下面的例子中,合併是基於具有2個不同鍵(id和數字)的相同值。通過加入值用lodash合併2個不同鍵的對象數組
例
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"
}
];
@YosvelQuintero它是如何更好地在每個'data'迭代項目,每個項目在'people'上迭代一次以找到匹配的項目?除了這會將算法的複雜性從線性增加到二次方法之外,您的解決方案還會使「人」中的對象發生變化。我看到的唯一優點是您的解決方案隱藏了'Array.prototype.find()'背後的一些複雜性。 – Timo
我的解決方案只對所有'data'進行一次迭代,並執行'Array.find()'。查找將返回與提供的函數匹配的第一個元素。比設置對象屬性並對「合併數組」進行推送。這些都需要 –
嗯,是的。但是,如果不通過迭代數組,你認爲'find()'是否工作? – Timo