如何在Javascript中访问循环函数的助手中的迭代器

时间:2015-11-09 22:44:11

标签: javascript scope

我试图创建一个帮助函数,允许我轻松地嵌套for循环。在我的特定脚本中,我有很多2D数组可供使用。

function array2D(iLen,jLen, callback){
   var i, j;
   for( i =0; i <iLen; i++){ 
       for( j= 0; j <jLen; j++){
          callback();
       }
  }
}

如果我想在回调函数中访问 i j 迭代器,如何重写该函数?例如,如果我想将以下内容传递给array2D:

function(){
   console.log(i +" "+j);
}

我试图在 array2D()中创建setter函数,但问题是返回i或j阻止函数操作完成。

3 个答案:

答案 0 :(得分:1)

使用ij

致电回调
function array2D(iLen,jLen, callback){
    var i, j;
    for( i =0; i <iLen; i++){ 
        for( j= 0; j <jLen; j++){
            callback(i,j);
        }
    }
}

并使用:

array2D(10, 20, function(i,j){
    console.log(i+' '+j)
})

答案 1 :(得分:1)

您可以将功能定义为:

Target target = LifeTime.class.getAnnotation(Target.class);
ElementType[] elementTypes = target.value(); 

然后按照你已经完成的方式传递它。在你调用回调时,你必须传递参数。

var callback = function(i,j){
    console.log(i +" "+j);
}

&#13;
&#13;
callback(i,j);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

尝试使用arguments

callback(i, j);
function() {
   console.log(arguments);
}
相关问题