/**
* 深拷贝
* @param {Object} obj 要拷贝的对象
*/
deepClone(obj = {}) {
if (typeof obj !== 'object' || obj == null) {
// obj 是 null ,或者不是对象和数组,直接返回
return obj
}
// 初始化返回结果
let result
if (obj instanceof Array) {
result = []
} else {
result = {}
}
for (let key in obj) {
// 保证 key 不是原型的属性
if (obj.hasOwnProperty(key)) {
// 递归调用!!!
result[key] = this.deepClone(obj[key])
}
}
return result
}
递归深拷贝
最新推荐文章于 2025-12-11 16:09:33 发布
本文介绍了一种递归实现的深拷贝方法,用于创建原始对象的完全独立副本。适用于对象和数组,通过递归调用确保所有层级的数据都能被复制。
602

被折叠的 条评论
为什么被折叠?



