2013-04-17 33 views
0

比方說,我有兩個JavaScript數組,像這樣:的Javascript:引用數組變量,而不是重複它

arrA = [1,2,3] 
arrB = [4,5,6] 

有沒有一種方法,我可以用不同的變量名稱引用下來,然後道?如果我這樣做:

arrC = arrA 
arrD = arrB 

它使份初始陣列,而不是使一個指針/引用他們。所以,如果我亂搞arrC的價值,arrA不會更新。有沒有辦法解決這個問題?

謝謝。

+1

你需要提供的顯示您的場景代碼樣本,因爲'ARRC = arrA'不只是做一個新的參考同一陣列。 –

+0

我在firebug中使用了下面的代碼:'arrA = [1,2,3]; arrC = arrA; arrC [2] = 9;的console.log(ARRA)」。它顯示arrA被更新。 –

+0

是的,它看起來像我在我的代碼中的其他地方重新分配我的變量名稱。感謝您的幫助 - 我會盡快接受答案。 –

回答

5

不,它不會複製。如果您更改arrC,它也會更改arrA

試試這個:

var arrA = [1,2,3]; 
var arrC = arrA; 
arrC.push(26); 
console.log(arrA); 

你會在控制檯中看到[1, 2, 3, 26]

與此相反的是真實的:如果你進行復制,你必須做明確的,例如與

var arrC = arrA.slice(); 
+0

如果你**想做一個副本,請使用'var copy = arr.splice();' – jbabey

+0

@jbabey你有點遲到和有點不對勁:) –

+0

你是什麼意思?這是同樣的事情,你只是編輯你的答案,包括:) – jbabey

0

按照這篇文章,創建一個對象中的數組,這是一個簡單的方法。

javascript variable reference/alias

+1

1)不要只是鏈接到另一個問題,在評論中做,以便有人可以標記爲重複。 2)我不明白它是如何相關的。 3)嘗試獲得一些代表,以便您可以發表評論,而不是寫出不是答案的答案。 4)歡迎,因此:) –

+0

好的,謝謝。 :) – laxy

相關問題