//浅拷贝
let hd={
    name:"jack"
}

let obi={}
// ----------------------------
// obi.name=hd.name;
// console.log(obi);
// -------------------------------
// for (const key in hd) {
//     obi[key]=hd[key];
    
// }
// console.log(obi);
// obi.name="kl";
// console.log(obi);
// console.log(hd);
//------------------------------
// let obj=Object.assign({},hd);
// console.log(obj);
// obj.name="ass";
// console.log(obj);
// console.log(hd);

//------------------------------
let obj={...hd};
console.log(obj);
obj.name="kk";
console.log(hd);

 

//深拷贝
let data={
    name:"houduanren",
    user:{
        name:"hdcms"
    },
    arr:[]

}
// function copy(object){
//     debugger;
//     let res={};
//     for (const key in object) {
//         console.log(object[key]);
//         res[key]=typeof object[key]== "object"?copy(object[key]):object[key];//这边是判断user这个对象
//         // console.log(object[key]);
//     }
//     return res;
// }

function copy(obj){
    let res=obj instanceof Array ? [] :{};
    for (const [k,v] of Object.entries(obj)) {
        res[k]=typeof v=="object" ?copy(v):v;
    }
    return res;
}

console.log(copy(data));

 

posted on 2022-01-22 16:23  weakup  阅读(26)  评论(0编辑  收藏  举报