deep-get-set
Set and get values on objects via dot-notation strings.
Example
var deep = ; var obj = foo: bar: 'baz' 'bar.baz': 'qux' ; // Getconsole; // => "baz" // Get with arrayconsole; // => "qux" // Set;console; // => "hello" // Set with array;console; // => "goodbye"
API
deep(object, path[, value])
Where path
is a dot-notation string foo.bar
or an array of strings.
- If
value
is passed it will be set on the path. - Set
deep.p = true
if you want non-existent paths to be initialized. - If you want to unset (or delete), pass
undefined
as thevalue
.
Installation
With npm do:
npm install deep-get-set
Note
There's a dozen modules like this on npm. This is a fork from @juliangruber's deep-access module, with a big portion of code directly copied from here: https://github.com/substack/js-traverse/blob/master/index.js#L11-L18.
Similar modules:
- https://github.com/deoxxa/dotty (this one I like because it uses recursion)
- https://github.com/Ntran013/dot-access (pretty much the same as this)
- https://github.com/substack/js-traverse (much more complex and useful)
License
MIT