Javascript:按名称查找数组

时间:2010-05-16 17:20:05

标签: javascript arrays

我有一些js数组,我想按名称查找数组。例如:

arr1 = [1,2,3];
arr2 = [3,4,5];

然后像这样访问它们:

var intNum = 2;
var arrName = 'arr' + intNum;

arrName[0]; // equals 3

这可能吗?

谢谢, 凯文

2 个答案:

答案 0 :(得分:5)

这是可能的,但我建议你将这些数组作为对象的属性,这使它更容易

var arrays {
    arr1 : [1,2,3],
    arr2 : [4,5,6]
}

var arrNum = 2;
var arr = arrays["arr" + arrNum] // arrays.arr2

可以使用.运算符和使用["propname"]表示法的命名项来访问对象的属性。

不建议使用eval或在window上使用上述技巧。

Eval'ing通常是构造不良代码的标志,并且使用窗口依赖于窗口是全局范围的变量对象 - 这不是任何规范的一部分,并且不一定适用于浏览器。

答案 1 :(得分:3)

window['arr'+intNum]

所以

arr1 = [1,2,3];
arr2 = [3,4,5];
intNum=2;
alert(window['arr'+intNum][1]); //will alert 4