2013-11-15 41 views
0

我有一个包含多个值的数组。我有其他几个区域,每个都有不同的编号,而不是jQuery中的动态数组名称

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

尝试这种方式,创建临时对象并设置阵列为对象的属性,然后使用与构成属性名称的括号记号访问它:

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]); 

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

Demo

0

尝试这样的:

window['u3s' + randomNumber + A[p]]