//浅拷贝 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));