let obj={
a:12,
b:{
c: {
d:123,
e: 'abc'
},
f: true
},
g:[1,2,3,'345']
}
function cloneDeep(obj,nowObj){
let objNew = nowObj||{}
for (let i in obj) {
if (typeof obj[i] === 'object') {
objNew[i] = obj[i].constructor === Array?[]:{}
cloneDeep(obj[i],objNew[i])
}else{
objNew[i] = obj[i]
}
}
return objNew
}
let objCopy =cloneDeep(obj)
objCopy.b.c.d = 345
console.log('obj:',obj);
console.log('objCopy:',objCopy);
深度拷贝--递归
最新推荐文章于 2024-05-17 13:52:13 发布