[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