zip.js
662 Bytes
var max = require('./max');
var map = require('./map');
function getLength(arr) {
return arr == null ? 0 : arr.length;
}
/**
* Merges together the values of each of the arrays with the values at the
* corresponding position.
*/
function zip(arr){
var len = arr ? max(map(arguments, getLength)) : 0,
results = [],
i = -1;
while (++i < len) {
// jshint loopfunc: true
results.push(map(arguments, function(item) {
return item == null ? undefined : item[i];
}));
}
return results;
}
module.exports = zip;