code: function zip(array) {
      if (!array) {
        return [];
      }
      var index = -1,
          length = max(pluck(arguments, 'length')),
          result = Array(length);
  
      while (++index < length) {
        result[index] = pluck(arguments, index);
      }
      return result;
    }
docs: Merges together the values of each of the arrays with the value at the
  corresponding position. Useful for separate data sources that are coordinated
  through matching array indexes. For a matrix of nested arrays, `_.zip.apply(...)`
  can transpose the matrix in a similar fashion.
  
  @static
  @memberOf _
  @category Arrays
  @param {Array} [array1, array2, ...] Arrays to process.
  @returns {Array} Returns a new array of merged arrays.
  @example
  
  _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]);
  // => [['moe', 30, true], ['larry', 40, false], ['curly', 50, false]]