Package Exports
- lodash-deep
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lodash-deep) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
lodash-deep
Lodash mixins for (deep) object accessing / manipulation.
Version 2.x
In 2.0 most of the methods of this module where removed, because Lodash now supports their functionality natively. E.g.:
_.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
Bower
bower install lodash-deep- Reference
lodash-deep.min.jsafterlodash.min.js
Node.js
npm install lodashnpm install lodash-deepvar _ = require("lodash"); _.mixin(require("lodash-deep"));
Docs
The following mixins are included in lodash-deep:
_.deepMapValues(object, propertyPath)
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
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.