通过键JavaScript从关联数组调用函数

通过键JavaScript从关联数组调用函数,javascript,arrays,Javascript,Arrays,在JavaScript中,我有如下函数的关联数组,比如类的静态字段: functions={'name': function(){},'name':function(){}}; 每个函数都对数组执行一些操作。 我还有一个方法: this.doSomethind= function(name, array){//class member 我需要调用其中一个函数,按名称查找它 $.each(functions, function(key, value) { if

在JavaScript中,我有如下函数的关联数组,比如类的静态字段:

functions={'name': function(){},'name':function(){}};
每个函数都对数组执行一些操作。 我还有一个方法:

this.doSomethind= function(name, array){//class member
我需要调用其中一个函数,按名称查找它

$.each(functions, function(key, value) {
                 if(key == name)
                    //here I need to call function with array as paremeter. It seems value(array); doesn't work.
                        }); 
}
抱歉,如果这是一个愚蠢的问题,我只是JavaScript新手。
谢谢

如果我正确理解了您的问题,您应该能够说:

functions[name](array);

如果我正确理解了您的问题,您应该能够说:

functions[name](array);
不要使用$.each循环。

尝试以下方法:

value.apply(this, [array])
试试这个:

value.apply(this, [array])

就您提供的信息而言,您无法从类方法访问尚未在范围内的参数。在您的示例中,拼写已更正

  //'array' is undefined / out of scope
  this.doSomething = function(name,array){
    //array is defined / in scope!
   };

否则,如果您正在谈论的变量数组是在某个范围内定义的,则第一个答案将起作用。

根据您提供的信息,您无法从类方法访问尚未在范围内的参数。在您的示例中,拼写已更正

  //'array' is undefined / out of scope
  this.doSomething = function(name,array){
    //array is defined / in scope!
   };
否则,如果您正在谈论的变量数组是在某个范围内定义的,那么第一个答案就可以了