对象属性拷贝,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)
上一篇 下一篇

猜你喜欢

热点阅读