比方說,我有兩個JavaScript數組,像這樣:的Javascript:引用數組變量,而不是重複它
arrA = [1,2,3]
arrB = [4,5,6]
有沒有一種方法,我可以用不同的變量名稱引用下來,然後道?如果我這樣做:
arrC = arrA
arrD = arrB
它使份初始陣列,而不是使一個指針/引用他們。所以,如果我亂搞arrC
的價值,arrA
不會更新。有沒有辦法解決這個問題?
謝謝。
比方說,我有兩個JavaScript數組,像這樣:的Javascript:引用數組變量,而不是重複它
arrA = [1,2,3]
arrB = [4,5,6]
有沒有一種方法,我可以用不同的變量名稱引用下來,然後道?如果我這樣做:
arrC = arrA
arrD = arrB
它使份初始陣列,而不是使一個指針/引用他們。所以,如果我亂搞arrC
的價值,arrA
不會更新。有沒有辦法解決這個問題?
謝謝。
不,它不會複製。如果您更改arrC
,它也會更改arrA
。
試試這個:
var arrA = [1,2,3];
var arrC = arrA;
arrC.push(26);
console.log(arrA);
你會在控制檯中看到[1, 2, 3, 26]
。
與此相反的是真實的:如果你想進行復制,你必須做明確的,例如與
var arrC = arrA.slice();
按照這篇文章,創建一個對象中的數組,這是一個簡單的方法。
1)不要只是鏈接到另一個問題,在評論中做,以便有人可以標記爲重複。 2)我不明白它是如何相關的。 3)嘗試獲得一些代表,以便您可以發表評論,而不是寫出不是答案的答案。 4)歡迎,因此:) –
好的,謝謝。 :) – laxy
你需要提供的顯示您的場景代碼樣本,因爲'ARRC = arrA'不只是做一個新的參考同一陣列。 –
我在firebug中使用了下面的代碼:'arrA = [1,2,3]; arrC = arrA; arrC [2] = 9;的console.log(ARRA)」。它顯示arrA被更新。 –
是的,它看起來像我在我的代碼中的其他地方重新分配我的變量名稱。感謝您的幫助 - 我會盡快接受答案。 –