一,两个对象遍历赋值合并
function mergeObj(obj1, obj2) {
for (let key in obj2) {
if (obj2.hasOwnProperty(key) === true) obj1[key] = obj2[key];
}
return obj1;
}
let obj3 = mergeObj({ a: 1 }, { b: 2, c: 3 });
console.log(obj3); //{a:1,b:2,c:3}
二,使用Object.assign(target,…sources)
可以把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回目标对象。
注:target目标对象自身也会改变
var obj1 = { a: 1 };
var obj2 = { b: 2, c: 4 };
var copyObj = Object.assign({}, obj1, obj2);
console.log(copyObj); //{a:1,b:2,c:4}
var copyObj1 = Object.assign(obj1, obj2);
console.log(copyObj1); //{a:1,b:2,c:4}
console.log(obj1); //{a:1,b:2,c:4}
本文介绍了JavaScript中合并对象的mergeObj函数实现,以及Object.assign的使用,包括深浅拷贝的区别。通过实例展示了如何将源对象属性添加到目标对象,并关注了不同方法对目标对象的影响。
433

被折叠的 条评论
为什么被折叠?



