[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) // 测试

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM