动态Javascript - 这有效吗?

Gra*_*ant 0 javascript dynamic strong-typing loose-typing

谁能告诉我这是否是有效的JavaScript?我知道你不能在c#中做这种事情,但是js是一种更宽松的语言.

var arrayToUse = "arr" + sender.value;
for (i = 0; i <= arrayToUse.length; i++) {
    // something..
}
Run Code Online (Sandbox Code Playgroud)

特别是 - 动态生成数组名称..

更新..

所以我有一个名为arrMyArray的数组,它在文档就绪时初始化.sender.value ="MyArray" - 但可能是其他东西,例如MyArray2

我想dyanimcally迭代由sender.value值指示的数组.

Dav*_*ver 6

是的,这完全有效.

arrayToUse将是一个字符串(无论值是什么sender.value- 它将被转换为字符串),i并将迭代0到字符串的长度).

一个小注:它应该是for (**var** i = 0; …),否则i将被视为一个全局变量,如果你有多个循环同时运行,几乎肯定会结束.

编辑:你想根据名称获取数组?在这种情况下,您必须在定义数组的任何上下文中查找它.

如果它是全局数组,请使用window.

例如:

var arrayName = "arr" + sender.value;
var array = window[arrayName];
…
Run Code Online (Sandbox Code Playgroud)