假设我有两个对象数组,我想要比较它们:
假设
我想循环遍历数组,找到名称匹配的对象。如果有匹配项,我想将
代码示例:
我想知道在ECMAScript 6中是否有任何更新的方法可以更轻松地完成这个任务(在实际情况下,逻辑更加复杂,循环内部嵌套循环会感觉非常笨重);
var arr1 = [
{
name: 'A', type: "Dog"
},
{
name: 'B', type: "Zebra"
},
{
name: 'C', type: "Cat"
},
{
name: 'D', type: "Dingo"
}
]
var arr2 = [
{
name: 'A', type: "Wolf"
},
{
name: 'B', type: "Echidna"
},
{
name: 'C', type: "Wallaby"
},
{
name: 'D', type: "Rabbit"
}
]
假设
arr1
是旧数据,arr2
是来自API的更新数据。我想循环遍历数组,找到名称匹配的对象。如果有匹配项,我想将
type
从arr1
更新为arr2
。代码示例:
for(var i = 0; i<arr1.length; i++){
for(var x = 0; x<arr2.length; x++){
if(arr1[i].name === arr2[x].name){
arr1[i].type = arr2[x].type;
}
}
}
我想知道在ECMAScript 6中是否有任何更新的方法可以更轻松地完成这个任务(在实际情况下,逻辑更加复杂,循环内部嵌套循环会感觉非常笨重);
Array.prototype.find
或findIndex
- zerkmsname
是一个唯一标识符。有时arr2
会引入arr1
中没有的名称,需要插入它们。 - JVG