Deep Pick
Underscore Deep Pick Plugin
Makes it easy to pick deep inside an object. It's very similiar to XSLT. You need ro provide a schema that defines hieriachy of keys you need in your output instead of a list of keys that you use in regular _.pick
.
Example
var input =one: 1two: truethree: 'Three'four: 1234five:alpha: 1beta: 2gamma: 3teta:alef: 1beh: 2peh: 3answer: '42.00'description: 'This is an object.';var schema =one: truethree: truefive:alpha: trueteta:beh: true;; // =>one: 1three: "Three"five:alpha: 1teta:beh: 2
Array Support Example
var arr = [
{
blue: 100,
green: 400,
red: 300,
grey: 200
},
{
blue: 10,
green: 40,
red: 30,
grey: 20
},
{
blue: 1,
green: 4,
red: 3,
grey: 2
},
];
var arrSchema = [{blue: true}];
_.deepPick(arr, arrSchema)) // =>
[
{
blue: 100
},
{
blue: 10
},
{
blue: 1
}
]
Available in NPM and Bower
NodeJS environment
npm install deep_pick
var _ = require('underscore');
_.mixin({ deepPick: require('deep_pick') });
Browser environent
bower install deep_pick
License
MIT