setWith source npm
_.setWith(object, path, value, [customizer])
This method is like _.set except that it accepts customizer which is
invoked to produce the objects of path. If customizer returns undefined
path creation is handled by the method instead. The customizer is invoked
with three arguments: (nsValue, key, nsObject).
Arguments
- object (Object)
The object to modify.
- path (Array|string)
The path of the property to set.
- value (*)
The value to set.
- [customizer] (Function)
The function to customize assigned values.
Returns (Object)
Returns object.
Example
function customizer(nsValue) {
if (!_.isObject(nsValue)) {
return {};
}
}
_.setWith({ '0': { 'length': 2 } }, '[0][1][2]', 3, customizer);
// => { '0': { '1': { '2': 3 }, 'length': 2 } }