關於vue中深拷貝的慘痛教訓


近期在做一個關於地圖的項目,由於要展示的數據中有的還沒有定位信息,但是需要展示其他信息,所以要做數據的篩選,但是,經過篩選之后發現地圖能正常展示了,但是數據出現了有時出現,有時不出現的情況,經過不懈努力終於把數據展示搞沒問題了,地圖中展示的marker點又亂了(一臉懵逼)。后來想起來之前操作雖然看似將地圖數據和展示數據分開,但是由於只是改變了指向,所以最終操作的還是一個玩意(蠢哭)。下面上深拷貝代碼。

1.數組

1 var vs=[1,2,453,12,432]
2 var gets=vs
3 gets.push(0)
4 console.log(vs)
5 //[1,2,453,12,432,0]
//不通過深拷貝會改變原來數組中的內容

應改為

1 var vs=[1,2,453,12,432]
2 var gets=JSON.parse(JSON.stringify(vs))
3 gets.push(0)
4 console.log(vs)
//此時vs值不會變化,兩個值是獨立存在的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM