0

我有一个包含多个值的数组。我还有其他几个区域,每个区域都有不同的数字而不是

var u3s0A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];

但是,我无法弄清楚如何动态引用数组。我试着做:

alert(u3s + randomNumber + A[p]);

但只有错误。我意识到如果我这样做

alert('u3s' + randomNumber + 'A'[p]);

它输出正确的数组名称,但随后将其转换为字符串,当我对其进行索引时:

var arrayHolder = 'u3s' + randomNumber + 'A';
alert(arrayHolder[0]);

我得到数组名称 (u) 中的第一个数字,而不是数组中的第一项。

任何帮助,将不胜感激!

非常感谢您的宝贵时间。

4

2 回答 2

4

尝试这种方式,创建一个临时对象并将数组设置为对象的属性,然后使用带有构造属性名称的括号表示法访问它:

 var ob = {}; 
 ob.u3s0A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];
 ob.u3s1A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];
 .....

接着

 alert(ob['u3s' + randomNumber + 'A'][p]);

如果这是在全局范围内并且如果您在浏览器中,则可以使用与上面相同的方式使用 window 对象而不是 temp 对象来访问它ob

演示

于 2013-11-15T04:09:33.340 回答
0

尝试这样的事情:

window['u3s' + randomNumber + A[p]]
于 2013-11-15T04:10:38.123 回答