将数组动态加载到jQuery函数中

Loading arrays dynamically into a jQuery function

本文关键字:jQuery 函数 加载 数组 动态      更新时间:2023-09-26

大家好,

我需要一些帮助来解决这个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;

假设这些是全局变量,您需要使用数组符号对窗口对象进行操作。如果你有

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来定位容器对象(this实际上会在全局作用域中引用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
  }
}