Lodash mixins for (deep) object accessing / manipulation.
npm install lodash-deep javascript
_.deepGet(object, 'father.name');
// ->
_.get(object, 'father.name');
_.deepPluck(array, 'father.name');
// ->
_.map(array, 'father.name');
`
Compatibility
lodash-deep is currently compatible with:
- Node.js
- All ES5 compatible browsers (IE9+, Chrome, Firefox, Safari etc)
Installation
$3
1. bower install lodash-deep
2. Reference lodash-deep.min.js after lodash.min.js
$3
1. npm install lodash
2. npm install lodash-deep
3.
` javascript
var _ = require("lodash");
_.mixin(require("lodash-deep"));
`
Docs
The following mixins are included in lodash-deep:
- _.deepMapValues
$3
Maps all values in an object tree and returns a new object with the same structure as the original.
#### object
Type: Object
The root object of the object tree.
#### callback
Type: Function
The function to be called per iteration on any non-object value in the tree.
Callback is invoked with 2 arguments: (value, path).
value the value of the current property.
path the path of the current property.
#### returns
Type: Object
` javascript
var object = {
level1: {
value: 'value 1'
level2: {
value: 'value 2'
level3: {
value: 'value 3'
}
}
}
};
_.deepMapValues(object, function(value, path){
return path + ' is ' + value)
});
/** ->
* {
* level1: {
* value: 'level1.value is value 1'
* level2: {
* value: 'level1.level2.value is value 2'
* level3: {
* value: 'level1.level2.level3.value is value 3'
* }
* }
* }
* };
*/
`
Contributing
Please use the canary` branch when creating a pull request.