对象属性拷贝,for in,hasOwnProperty
2020-04-08 本文已影响0人
随风飞2019
let obj1 = {
name:"zyw",
age:null,
height:170,
weigth:66
};
let obj2={
name:"haha",
class:"0314",
age:22
};
//如果要实现对象合并,并且已有的不能覆盖,最优方案如下
for(let i in obj2){
if(!obj1.hasOwnProperty(i)){
obj1[i]= obj1[i] || obj2[i]
}
}
console.log(obj1)
还有一些其它方法,但当有个属性值是null的时候,就会被覆盖
下面两种方法,都会被覆盖,但可以借鉴使用
for(let i in obj2){
obj1[i]= obj1[i] || obj2[i]
};
Object.assign(obj1,obj2)