通过动态创建数组名称在单击函数中引用 javascript 数组

Reference javascript array inside click function by dynamically creating the array name

本文关键字:数组 函数 单击 javascript 引用 动态 创建      更新时间:2023-09-26

所以我有一个这样的数组:

var first_array = ['foo','bar','foobar'];

我正在运行一个单击函数并尝试获取数组的名称并循环遍历first作为 ID 名称的数组,如下所示

$('element').on('click',function(){
    var id = $(this).attr('id');
    var arr = id+"_array";
    $.each(arr,function(index,value){
        console.log(value);
    })
})

现在,arr给出一个变量名first_array而不是数组。因此,每个循环都会失败。有没有办法引用数组?我需要动态创建数组变量名称并获取数组元素。我也尝试在全局和单击函数中声明数组,但不起作用。

就像 Rayon Dabre 在评论中所说的那样,你应该使用包含你的first_array父对象,等等,像这样:

var parent_array = {
    first_array: ['foo','bar','foobar'],
    second_array: ['foo2', 'bar2', 'foobar2']
};
$('element').on('click',function(){
    var id = $(this).attr('id');
    var arr = parent_array[id+"_array"];
    $.each(arr,function(index,value){
        console.log(value);
    })
});

您可以将所有数组放入javascript对象或父数组中,并按键/名称访问它们,例如parentArr["first_array"]