[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