好的,
我需要一些jQuery困境的帮助:
我的网站标题中全局声明了3个数组:
var array1 = [];
var array2 = [];
var array3 = [];
我有这样的功能:
function setDropDownList(raw_id){
jQuery.each(mytest, function(key, value) {
var mytest = value.split('|');
}
}
我需要动态加载上面全局声明的3个数组中的每一个,而不是“mytest”。
我该怎么做?
我正在考虑这个问题:
function setDropDownList(raw_id, "??? how can I generate which array I need: array1 or 2 or 3?"){
jQuery.each(the_needed_array, function(key, value) {
var the_needed_array = value.split('|');
}
}
在PHP中,有一些叫做变量的东西,我可以这样做。
var array_name = 'array1';
在功能中:
$$array_name;
答案 0 :(得分:1)
假设这些是全局变量,您需要使用数组符号对窗口对象进行操作 如果你有
var arrname = 'array1'
window[arrname] = [1,2,3]; // window.arrname won't work but this will
然后
console.log(window.array1)
将产生
[1,2,3]
如果它们不是全局变量,你可以使用 this 而不是window来定位任何容器对象(这个实际上会引用 window 如果你在全球范围内。)
var myobj = {
myfunc : function() {
var an = 'iamanarray';
this[an] = [1,2,3];
console.log(this[an]); // [1,2,3]
console.log(this.an); // undefined
console.log(this['iamanarray']); // [1,2,3]
console.log(myobj.iamanarray); // [1,2,3]
console.log(iamanarray); // reference error
console.log(window.iamanarray); // reference error
}
}