00001 var apply = require('./_apply'), 00002 arrayMap = require('./_arrayMap'), 00003 unzip = require('./unzip'); 00004 00026 function unzipWith(array, iteratee) { 00027 if (!(array && array.length)) { 00028 return []; 00029 } 00030 var result = unzip(array); 00031 if (iteratee == null) { 00032 return result; 00033 } 00034 return arrayMap(result, function(group) { 00035 return apply(iteratee, undefined, group); 00036 }); 00037 } 00038 00039 module.exports = unzipWith;