在 Javascript 中,在两个数组上并发迭代并在两个正在运行的元素上调用函数的最佳方法是什么?例如:
var a = [1, 2, 3];
var b = [11, 12, 13];
function my_func() { /* some custom function */}
代码应执行 my_func 3 次,如下所示:
my_func(1,11);
my_func(2,12);
my_func(3,13);
如何在不定义新函数的情况下使用 jQuery/underscore api 实现这一目标?
最佳答案
比如这样(使用underscore.js)?
_.each( _.zip(a,b), my_func );
function my_func( pair ){
alert( pair[0] + pair[1] );
}
或者:
_.each( _.zip(a,b), function( pair ){
my_func( pair[0], pair[1] );
// or: my_func.apply( null, pair );
});
function my_func( a, b ){
alert( a + b );
}
-
function wrapply( func, thisObj ){
return function( args ){
return func.apply( thisObj, args );
}
}
var add = wrapply( function(a,b){ return a+b; });
alert( add([1,2]) );
关于javascript - 在 Javascript 中,如何同时对两个 seqs 的元素执行一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124874/