| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | var arrayFilter = require('./_arrayFilter'),    arrayMap = require('./_arrayMap'),    baseProperty = require('./_baseProperty'),    baseTimes = require('./_baseTimes'),    isArrayLikeObject = require('./isArrayLikeObject');/* Built-in method references for those with the same name as other `lodash` methods. */var nativeMax = Math.max;/** * This method is like `_.zip` except that it accepts an array of grouped * elements and creates an array regrouping the elements to their pre-zip * configuration. * * @static * @memberOf _ * @since 1.2.0 * @category Array * @param {Array} array The array of grouped elements to process. * @returns {Array} Returns the new array of regrouped elements. * @example * * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); * // => [['a', 1, true], ['b', 2, false]] * * _.unzip(zipped); * // => [['a', 'b'], [1, 2], [true, false]] */function unzip(array) {  if (!(array && array.length)) {    return [];  }  var length = 0;  array = arrayFilter(array, function(group) {    if (isArrayLikeObject(group)) {      length = nativeMax(group.length, length);      return true;    }  });  return baseTimes(length, function(index) {    return arrayMap(array, baseProperty(index));  });}module.exports = unzip;
 |