1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
{{alias}}( obj, path, value[, options] )
Sets a nested property value.
Parameters
----------
obj: ObjectLike
Input object.
path: string|Array
Key path.
value: any
Value to set.
options: Object (optional)
Options.
options.create: boolean (optional)
Boolean indicating whether to create a path if the key path does not
already exist. Default: false.
options.sep: string (optional)
Key path separator. Default: '.'.
Returns
-------
bool: boolean
Boolean indicating if the property was successfully set.
Examples
--------
> var obj = { 'a': { 'b': { 'c': 'd' } } };
> var bool = {{alias}}( obj, 'a.b.c', 'beep' )
true
// Specify an alternative separator via the sep option:
> obj = { 'a': { 'b': { 'c': 'd' } } };
> bool = {{alias}}( obj, 'a/b/c', 'beep', { 'sep': '/' } );
> obj
{ 'a': { 'b': { 'c': 'beep' } } }
// To create a key path which does not exist, set the create option to true:
> bool = {{alias}}( obj, 'a.e.c', 'boop', { 'create': true } );
> obj
{ 'a': { 'b': { 'c': 'beep' }, 'e': { 'c': 'boop' } } }
{{alias}}.factory( path[, options] )
Creates a reusable deep set function.
Parameters
----------
path: string|Array
Key path.
options: Object (optional)
Options.
options.create: boolean (optional)
Boolean indicating whether to create a path if the key path does not
already exist. Default: false.
options.sep: string (optional)
Key path separator. Default: '.'.
Returns
-------
out: Function
Deep get function.
Examples
--------
> var dset = {{alias}}.factory( 'a/b/c', {
... 'create': true,
... 'sep': '/'
... });
> var obj = { 'a': { 'b': { 'c': 'd' } } };
> var bool = dset( obj, 'beep' )
true
> obj
{ 'a': { 'b': { 'c': 'beep' } } }
See Also
--------
|