|
4 years ago | |
---|---|---|
.. | ||
LICENSE | 4 years ago | |
README.md | 4 years ago | |
index.js | 4 years ago | |
package.json | 4 years ago | |
utils.js | 4 years ago |
README.md
get-value

Use property paths (
a.b.c
) to get a nested value from an object.
This is 10x faster and more performant than dot-prop, and it passes all of the dot-prop tests.
Of the libs benchmarked, dot-prop was the least performant:
#1: deep
get-value x 3,308,335 ops/sec ±1.32% (94 runs sampled)
dot-prop x 197,631 ops/sec ±1.27% (94 runs sampled)
getobject x 218,635 ops/sec ±1.51% (91 runs sampled)
#2: shallow
get-value x 5,762,976 ops/sec ±1.21% (95 runs sampled)
dot-prop x 695,892 ops/sec ±1.42% (95 runs sampled)
getobject x 724,493 ops/sec ±1.46% (93 runs sampled)
Also, get-value supports escaping dots in paths, which is common when object keys are file paths with extensions, dot-prop does not.
Install
Install with npm
$ npm i get-value --save
Install with bower
$ bower install get-value --save
Usage
var get = require('get-value');
var obj = {a: {b : {c: {d: 'foo'}}}, e: [{f: 'g'}]};
get(obj, 'a.b.c');
//=> {d: 'foo'}
get(obj, 'a.b.c.d');
//=> 'foo'
get(obj, 'e[0].f');
//=> 'g'
key as an array
Optionally pass the key as an array (this is useful when you need to dynamically build up the property name)
var obj = {a: {b: 'c'}};
get(obj, ['a', 'b']);
//=> 'c'
Related projects
- has-any: Returns true if an object has any of the specified keys. | homepage
- has-any-deep: Return true if
key
exists deeply on the given object. | homepage - has-value: Returns true if a value exists, false if empty. Works with deeply nested values using… more | homepage
- set-value: Create nested values and any intermediaries using dot notation (
'a.b.c'
) paths. | homepage - unset-value: Delete nested properties from an object using dot notation. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running tests
Install dev dependencies:
$ npm i -d && npm test
Author
Jon Schlinkert
License
Copyright © 2014-2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on October 28, 2015.