JavaScript:访问与变量同名的数组?

时间:2012-12-19 14:59:06

标签: javascript arrays

  

可能重复:
  Get variable from a string

我有一个名为 myArray 的数组和一个名为 myVar 的变量。 myVar变量包含值'myArray'(myVar的值等于数组名称)。我可以使用myVar变量以某种方式访问​​数组元素吗?一些代码来解释我的意思:

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

谢谢!

2 个答案:

答案 0 :(得分: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]);

答案 1 :(得分:3)

如果您的数组(myArray)是全局变量,那么您可以使用window[myVar]。如果它是局部变量,那么唯一的方法是使用eval(myVar)(或其类似物)。

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