1 var arrayMap = require('../internal/arrayMap'),
2 arrayMax = require('../internal/arrayMax'),
3 baseProperty = require('../internal/baseProperty'),
4 getLength = require('../internal/getLength');
7 * This method is like `_.zip` except that it accepts an array of grouped
8 * elements and creates an array regrouping the elements to their pre-`_.zip`
14 * @param {Array} array The array of grouped elements to process.
15 * @returns {Array} Returns the new array of regrouped elements.
18 * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]);
19 * // => [['fred', 30, true], ['barney', 40, false]]
22 * // => [['fred', 'barney'], [30, 40], [true, false]]
24 function unzip(array) {
26 length = (array && array.length && arrayMax(arrayMap(array, getLength))) >>> 0,
27 result = Array(length);
29 while (++index < length) {
30 result[index] = arrayMap(array, baseProperty(index));
35 module.exports = unzip;