Set and get values on objects via dot-notation strings.
var deep = ;var obj =foo:bar: 'baz''bar.baz': 'qux';// Getconsole;// => "baz"// Get with arrayconsole;// => "qux"// Set;console;// => "hello"// Set with array;console;// => "goodbye"
deep(object, path[, value])
path is a dot-notation string
foo.bar or an array of strings.
valueis passed it will be set on the path.
deep.p = trueif you want non-existent paths to be initialized.
- If you want to unset (or delete), pass
With npm do:
npm install deep-get-set
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.
- 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)