递归实现深拷贝
作者:互联网
文章目录
一、递归实现深拷贝
function copyData(obj) {
if (!obj|| typeof obj !== 'object') {
return false
}
let newObj = obj instanceof Array?[]:{}
// 用for in 循环对象 但他会枚举到原型的属性
for (let key in obj) {
// hasOwnProperty过滤掉原型上的属性
if (obj.hasOwnProperty(key)) {
newObj[key] =
typeof obj[key] === 'object' ? copyData(obj[key]):obj[key]
}
}
return newObj
}
标签:obj,递归,实现,newObj,key,copyData,拷贝 来源: https://blog.csdn.net/weixin_43456275/article/details/121213758