Lodash filter on null
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 list = [
{ name: 'a', type: 'filter' },
{ name: 'b', type: 'filter' },
{ name: 'c', type: 'macro' },
];
const obj = {
filters: list,
};
log('1. by property', _.filter(list, {type: 'filter'}));
log('2. with a function', _.filter(list, obj => obj.type === 'macro'));
log('3. null', _.filter(null, {type: 'filter'}));
log('4. undefined', _.filter(undefined, {type: 'filter'}));
log('5. null', _.filter(null, {type: 'filter'}));
log('6. from obj', _.filter(obj.filters, {type: 'macro'}));
log('7. undef obj', _.filter(obj.notDefined, {type: 'macro'}));