1. 程式人生 > >陣列的賦值

陣列的賦值

前段時間發現,將 array a 賦值給 array b之後,改變 array b後,array a也會跟著變化,一開始有些不解,後來才知道這是陣列為引用型別造成的。

原理:當我們將 陣列a賦值給陣列b的過程中,其實是將陣列a的引用地址指向b,這個時候,陣列a和陣列b都指向同一個引用地址,本質上a和b是同一個東西。

解決方式:為了讓陣列a賦值給陣列b後,改變b不會影響a,可用以下方式來將a中的值給b:

var b=[].concat(a);

如果數組裡是物件,用這種方式解決不了,可試試遍歷a中的每一項並push到b中