2012-12-19 52 views
5

可能重複:
Get variable from a stringJavaScript:與變量名稱相同的訪問數組?

我有稱爲myArray的陣列和被稱爲myVar的變量。 myVar變量保存一個值'myArray'(myVar的值等於數組名稱)。我可以以某種方式使用myVar變量訪問數組元素嗎?一些代碼來解釋我的意思:

var myArray = {1, 2, 3}; 
var myVar = "myArray"; 

謝謝!

+0

「*我有一個名爲myArray *」的數組。在JavaScript中,數組不能有名字。你擁有的數組是匿名的。 –

+0

顯示您的意思的僞代碼。 – epascarello

+0

我在上面添加了一些代碼。 – user1856596

回答

7

這裏的關鍵是bracket notation

如果myArray是全球

var myArray = ["1","2","3"]; 
var myVar = "myArray"; 
console.log(window[myVar]); 

最好使用一個命名空間

var myData = {}; 
myData.myArray = ["1","2","3"]; 
var myVar = "myArray"; 
console.log(myData[myVar]); 
+0

擊敗我7秒。該死。 (不是說這是一個競爭,只是發現它很有趣,我們的差異是數字與字母。;-) –

+0

對於名稱空間的+1 – Chad

3

如果陣列(myArray)是一個全局變量,那麼你可以使用window[myVar]。如果它是局部變量,那麼唯一的方法是使用eval(myVar)(或其類似物)。

arr = window[myVar] // assuming myArray is a global variable 
arr[0] = 5 // same as myArray[0] = 5 
相關問題