js对两个数组里的对象合并
时间: 2023-05-04 16:02:48 浏览: 400
可以使用JavaScript中的concat()方法来合并两个数组。但是,如果两个数组中包含的是对象,那么直接使用concat()方法合并,只能得到一个新数组,而不能实现对象的合并。因此,需要使用其他的方式来实现数组中对象的合并。
可以使用循环遍历的方式,将第二个数组中的对象加入到第一个数组中。如果第一个数组中存在与第二个数组中相同的对象,那么可以选择覆盖或者忽略。
比如,有两个数组arr1和arr2,它们包含的是对象obj1和obj2,分别是:
arr1 = [{name:'Tom', age:20}, {name:'Lucy', age:22}];
arr2 = [{name:'John', age:21}, {name:'Tom', age:23}];
为了将arr2中的对象合并到arr1中,可以使用以下代码:
for(var i=0; i<arr2.length; i++){
var isExist = false;
for(var j=0; j<arr1.length; j++){
if(arr2[i].name == arr1[j].name){
arr1[j] = arr2[i]; //如果存在相同name的对象,就覆盖
isExist = true;
break;
}
}
if(!isExist){
arr1.push(arr2[i]); //如果不存在相同name的对象,就直接加入
}
}
执行上述代码后,arr1的结果为:
[{name:'Tom', age:23}, {name:'Lucy', age:22}, {name:'John', age:21}]
可以看到,arr2中的对象已经被成功合并到arr1中,并且已经实现了对象的合并。
阅读全文