5

Possible Duplicate:
Get variable from a string

I have an array called myArray and a variable which is called myVar. The myVar variable holds a value 'myArray' (value of myVar equals the arrays name). Can I somehow access the arrays elements using the myVar variable? Some code to explain what I mean:

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

Thanks!

Community
  • 1
  • 1
user1856596
  • 7,027
  • 10
  • 41
  • 63

2 Answers2

7

The key here is bracket notation.

If myArray is global

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

better to use a namespace

var myData = {};
myData.myArray  = ["1","2","3"];
var myVar = "myArray";
console.log(myData[myVar]);
epascarello
  • 204,599
  • 20
  • 195
  • 236
3

If your array (myArray) is a global variable, then you can use window[myVar]. If it is a local variable, then the only way is to use eval(myVar) (or its analogs).

arr = window[myVar] // assuming myArray is a global variable
arr[0] = 5 // same as myArray[0] = 5
Artem Sobolev
  • 5,891
  • 1
  • 22
  • 40