code: function zipObject(keys, values) {
      var index = -1,
          length = keys ? keys.length : 0,
          result = {};
  
      if (!values && length && !isArray(keys[0])) {
        values = [];
      }
      while (++index < length) {
        var key = keys[index];
        if (values) {
          result[key] = values[index];
        } else if (key) {
          result[key[0]] = key[1];
        }
      }
      return result;
    }
docs: Creates an object composed from arrays of `keys` and `values`. Provide
  either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`
  or two arrays, one of `keys` and one of corresponding `values`.
  
  @static
  @memberOf _
  @alias object
  @category Arrays
  @param {Array} keys The array of keys.
  @param {Array} [values=[]] The array of values.
  @returns {Object} Returns an object composed of the given keys and
  corresponding values.
  @example
  
  _.zipObject(['fred', 'barney'], [30, 40]);
  // => { 'fred': 30, 'barney': 40 }