set values in javascript objects by specifying a path.
if the path doesn't exist yet, it will be created.
by using this library, you can help prevent the following error from occurring:
Cannot set property 'foo' of undefined
NOTE: I've re-written / used this function so many different times, I decided to publish it as a module.
Install the module with: npm install --save object-path-set
var setPath = require('object-path-set');
var obj = { foo: { bar: 'baz' } };
obj = setPath(obj, 'foo.bar', 'newValue'); // result: {foo:{bar:'newValue'}}
obj = setPath(obj, 'foo.invalidKey', 'cool'); // result: {foo:{bar:'newValue',invalidKey: 'cool'}}
obj = setPath(obj, 'foo|bar', 'again', '|'); // result: {foo:{bar:'again',invalidKey: 'cool'}}
Thanks goes to these wonderful people (emoji key):
◬ 💻 📖 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
Copyright (c) 2014 skratchdot
Licensed under the MIT license.