pairs.js 800 B

123456789101112131415161718192021222324252627282930313233
  1. var keys = require('./keys'),
  2. toObject = require('../internal/toObject');
  3. /**
  4. * Creates a two dimensional array of the key-value pairs for `object`,
  5. * e.g. `[[key1, value1], [key2, value2]]`.
  6. *
  7. * @static
  8. * @memberOf _
  9. * @category Object
  10. * @param {Object} object The object to query.
  11. * @returns {Array} Returns the new array of key-value pairs.
  12. * @example
  13. *
  14. * _.pairs({ 'barney': 36, 'fred': 40 });
  15. * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
  16. */
  17. function pairs(object) {
  18. object = toObject(object);
  19. var index = -1,
  20. props = keys(object),
  21. length = props.length,
  22. result = Array(length);
  23. while (++index < length) {
  24. var key = props[index];
  25. result[index] = [key, object[key]];
  26. }
  27. return result;
  28. }
  29. module.exports = pairs;