Projekt

Obecné

Profil

Stáhnout (793 Bajtů) Statistiky
| Větev: | Revize:
1 3a515b92 cagy
var baseProperty = require('./_baseProperty'),
2
    basePropertyDeep = require('./_basePropertyDeep'),
3
    isKey = require('./_isKey'),
4
    toKey = require('./_toKey');
5
6
/**
7
 * Creates a function that returns the value at `path` of a given object.
8
 *
9
 * @static
10
 * @memberOf _
11
 * @since 2.4.0
12
 * @category Util
13
 * @param {Array|string} path The path of the property to get.
14
 * @returns {Function} Returns the new accessor function.
15
 * @example
16
 *
17
 * var objects = [
18
 *   { 'a': { 'b': 2 } },
19
 *   { 'a': { 'b': 1 } }
20
 * ];
21
 *
22
 * _.map(objects, _.property('a.b'));
23
 * // => [2, 1]
24
 *
25
 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
26
 * // => [1, 2]
27
 */
28
function property(path) {
29
  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
30
}
31
32
module.exports = property;