deep_pick
v0.0.9
Published
Underscore Deep Pick Plugin
Downloads
220
Readme
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: 1,
two: true,
three: 'Three',
four: [1,2,3,4],
five: {
alpha: 1,
beta: 2,
gamma: 3,
teta: {
alef: 1,
beh: 2,
peh: 3
}
},
answer: '42.00',
description: 'This is an object.'
};
var schema = {
one: true,
three: true,
five: {
alpha: true,
teta: {
beh: true
}
}
};
deepPick(input, schema); // =>
{
one: 1,
three: "Three",
five: {
alpha: 1,
teta: {
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
<script src="/path/to/underscore.js"></script>
<script src="/path/to/deep_pick.js"></script>
License
MIT