1 var baseSet = require('./_baseSet');
4 * Sets the value at `path` of `object`. If a portion of `path` doesn't exist
5 * it's created. Arrays are created for missing index properties while objects
6 * are created for all other missing properties. Use `_.setWith` to customize
9 * **Note:** This method mutates `object`.
14 * @param {Object} object The object to modify.
15 * @param {Array|string} path The path of the property to set.
16 * @param {*} value The value to set.
17 * @returns {Object} Returns `object`.
20 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
22 * _.set(object, 'a[0].b.c', 4);
23 * console.log(object.a[0].b.c);
26 * _.set(object, 'x[0].y.z', 5);
27 * console.log(object.x[0].y.z);
30 function set(object, path, value) {
31 return object == null ? object : baseSet(object, path, value);