const obj = {
name:'2323',
age:15,
sex:'男',
friend:[
{
name:'lili',
age:12,
sex:'女'
},
{
name:'haha',
age:2,
sex:'女'
},
]
}
function deepCopy(newObj,oldObj) { //(新数据,被拷贝数据)
for(key in oldObj){
if(Array.isArray(oldObj[key])){
// 如果数据类型是数组,必须写在最上面,
// 因为 ( [1,2] instanceof Object === true)
newObj[key] = []
deepCopy(newObj[key],oldObj[key])
}else if(oldObj[key] instanceof Object){
//如果数据是对象类型
newObj[key] = {}
deepCopy(newObj[key],oldObj[key])
} else{
//数据是基本数据类型
newObj[key] = oldObj[key]
}
}
return newObj
}
deepCopy(o,a)
console.log(o) //深拷贝完成,并且deepCopy(o,a)的值就是o的值
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。