[js深度拷贝] js 修改变量值后 原变量值也会更改的问题

 1 let arr = [
 2   {
 3         name:"测试"
 4     }  
 5 ] 
 6 
 7 let newarr = arr
 8 
 9 newarr[0].name = "柚子"
10 
11 console.log(newarr[0].name) // 柚子
12 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