深拷贝
时间:2023-4-23 00:34 作者:小诸葛 分类: JavaScript 正在检查是否收录...
// 浅拷贝存在的问题:浅拷贝只能拷贝一层数据。
let obj1 = {
name: "小白",
color: "#ff0000",
like: ["爬山", "旅游"]
}
let obj2 = {}
for (let key in obj1) {
obj2[key] = obj1[key]
}
// 修改拷贝后的boj2里面值
obj2.like[0] = "赏花 "
// 发现修改之后会影响到boj1,所以没有拷贝成功
console.log(obj1);
console.log(obj2);
// 解决办法:遍历数组或对象的所有子数据,每一层都单独拷贝
let obj3 = JSON.parse(JSON.stringify(obj1))
obj3.like[0] = "钓鱼"
// 这里修改之后,发现并没有影响到obj1和obj2的数据,说明拷贝成功了
console.log(obj3);
推荐阅读:
扫描二维码,在手机上阅读