jQuery中的动态数组名称

时间:2013-11-15 04:06:50

标签: javascript arrays

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

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)中的第一个数字,而不是数组中的第一个数字。

任何帮助将不胜感激!

非常感谢你的时间。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

尝试这样的事情:

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