我有一些js数组,我想按名称找到数组.例如:
arr1 = [1,2,3];
arr2 = [3,4,5];
Run Code Online (Sandbox Code Playgroud)
并像这样访问它们:
var intNum = 2;
var arrName = 'arr' + intNum;
arrName[0]; // equals 3
Run Code Online (Sandbox Code Playgroud)
这可能吗?
谢谢,凯文
这是可能的,但我建议你将这些数组作为对象的属性,这使它更容易
var arrays {
arr1 : [1,2,3],
arr2 : [4,5,6]
}
var arrNum = 2;
var arr = arrays["arr" + arrNum] // arrays.arr2
Run Code Online (Sandbox Code Playgroud)
可以使用.运算符和使用["propname"]表示法的命名项来访问对象的属性.
不建议使用eval或诉诸于使用上述技巧window.
Eval'ing通常是构造不良代码的标志,并且使用窗口依赖于窗口是全局范围的变量对象 - 这不是任何规范的一部分,并且不一定适用于跨浏览器.