Lodash pick
by findango
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
<script>
function stringify(value) {
return (
typeof value === 'undefined' ? 'undefined' :
typeof value === 'object' ? JSON.stringify(value, null, 2) :
value
);
}
function log() {
var args = Array.prototype.slice.call(arguments, 0);
document.getElementById('output').innerHTML += args.map(stringify).join(" ") + "\n";
}
</script>
<pre id="output"></pre>
JavaScript
const obj = {
one: 1,
two: 2,
three: {
a: '3.a',
b: '3.b'
}
};
const list = [obj, obj];
log('---- pick ----');
log(_.pick(obj, ['one', 'two']));
log(_.pick(null, ['one', 'two']));
log(_.pick(undefined, ['one', 'two']));
log('---- map ----');
log(_.map(undefined));
log(_.map(null));
log(_.map());
log('---- as a list ----');
log(1, _.map(list, item => _.pick(item, ['one', 'two'])));
log(2, _.map([], item => _.pick(item, ['one', 'two'])));
log(3, _.map(null, item => _.pick(item, ['one', 'two'])));
log(4, _.map(undefined, item => _.pick(item, ['one', 'two'])));