at.js 672 B

1234567891011121314151617181920212223242526
  1. var baseAt = require('./_baseAt'),
  2. baseFlatten = require('./_baseFlatten'),
  3. rest = require('./rest');
  4. /**
  5. * Creates an array of values corresponding to `paths` of `object`.
  6. *
  7. * @static
  8. * @memberOf _
  9. * @since 1.0.0
  10. * @category Object
  11. * @param {Object} object The object to iterate over.
  12. * @param {...(string|string[])} [paths] The property paths of elements to pick.
  13. * @returns {Array} Returns the picked values.
  14. * @example
  15. *
  16. * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
  17. *
  18. * _.at(object, ['a[0].b.c', 'a[1]']);
  19. * // => [3, 4]
  20. */
  21. var at = rest(function(object, paths) {
  22. return baseAt(object, baseFlatten(paths, 1));
  23. });
  24. module.exports = at;