I have some js arrays and I want to find the arrays by name. for example:
arr1 = [1,2,3];
arr2 = [3,4,5];
And access them like this:
var intNum = 2;
var arrName = 'arr' + intNum;
arrName[0]; // equals 3
Is this possible?
Thanks, Kevin
It is possible but I would suggest you place these arrays as properties of an object, that makes it a lot easier
var arrays {
arr1 : [1,2,3],
arr2 : [4,5,6]
}
var arrNum = 2;
var arr = arrays["arr" + arrNum] // arrays.arr2
Properties of objects can be accessed both using the . operator and as named items using the ["propname"] notation.
Using eval or resorting to using the above trick on window is not advised.
Eval'ing is normally a sign of ill constructed code, and using window relies on window being the Variable Object of the global scope - this is not part of any spec and will not necessarily work across browsers.
window not being the global object, you can call a standalone function that just returns this. Of course, at that point, it would probably be better just to use your suggestion and put them in an object.window['arr'+intNum]
so
arr1 = [1,2,3];
arr2 = [3,4,5];
intNum=2;
alert(window['arr'+intNum][1]); //will alert 4