function object(keys, values) {
    if (!keys) {
      return {};
    }
    var index = -1,
        length = keys.length,
        result = {};

    while (++index < length) {
      if (values) {
        result[keys[index]] = values[index];
      } else {
        result[keys[index][0]] = keys[index][1];
      }
    }
    return result;
  }
Creates an object composed from arrays of `keys` and `values`. Pass 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 _
@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

_.object(['moe', 'larry', 'curly'], [30, 40, 50]);
// => { 'moe': 30, 'larry': 40, 'curly': 50 }