
Untitled
By: a guest on
May 2nd, 2012 | syntax:
None | size: 1.03 KB | hits: 16 | expires: Never
In Javascript, how to execute a function on elements of two seqs concurently?
var a = [1, 2, 3];
var b = [11, 12, 13];
function my_func() { /* some custom function */}
my_func(1,11);
my_func(2,12);
my_func(3,13);
_.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]) );
for (var i = 0; i < a.length; i++) {
my_func(a[i], b[i]);
}
$.each(a, function(i, aItem) { my_func(aItem, b[i]); });
$.zip(a, b).each(function() {
var aItem = this[0];
var bItem = this[1];
my_func(aItem, bItem);
});
[1,2,3].forEach(function(e, i, arr){my_func(e, arr[i]);}, [11,12,13]);
$.each(a, function(index, value) {
my_func(value, b[index]);
});