function 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] = deepClone(obj[key]);
}
}
// 返回结果
return result;
}
记录 JavaScript 深克隆
最新推荐文章于 2023-11-04 12:37:10 发布