const old0bj = {
name: '张三',
age: 30,
colors: ['orange', 'green', 'blue'],
friend: {
name: '李四'
}
}
function deepClone(obj) {
if (typeof obj !== 'object' || obj == null) {
return obj
}
let result;
if (obj instanceof Array) {
result = []
} else {
result = {}
}
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
//递归 很重要 这一步递归操作很重要
result[key] = deepClone(obj[key])
}
}
return result
}
const new0bj2 = deepClone(old0bj);
new0bj2.friend.name = '吕布';
new0bj2.colors[0] = 'purple'
new0bj2.age = 40
console.log('old0bj', old0bj);
console.log('new0bj2', new0bj2);
自学笔记1 深拷贝浅拷贝
最新推荐文章于 2024-09-19 17:56:32 发布