[js深度拷贝] js 修改变量值后 原变量值也会更改的问题
let arr = [
{
name:"测试"
}
]
let newarr = arr
newarr[0].name = "柚子"
console.log(newarr[0].name) // 柚子
console.log(arr[0].name) // 柚子
解决办法
1 let arr = [
2 {
3 name:"测试"
4 }
5 ]
6
7 let newarr = JSON.parse(JSON.stringify(arr)) // 方法
8
9 newarr[0].name = "柚子"
10
11 console.log(newarr[0].name) // 柚子
12 console.log(arr[0].name) // 测试
方法二
let arr = [{ name: "测试"}]
let newarr = JSON.parse(JSON.stringify([...arr]))
// 方法 newarr[0].name = "柚子"
//console.log(newarr[0].name)
// 柚子 console.log(arr[0].name) // 测试
转自:https://www.cnblogs.com/iblackly/p/13183144.html


浙公网安备 33010602011771号