Lodash:过滤对象数组并检查是否为空

ken*_*in9 12 javascript arrays underscore.js lodash

我刚开始使用lodash并拥有这个对象数组,其中一个属性有一个整数或为null.我知道如何过滤数组中的null项,但我如何检查它是否为空?

假设我有这样的事情:

var users = [
    { 'user': 'barney', 'default': 1 },
    { 'user': 'dino', 'default': 0 },
    { 'user': 'wilma', 'default': 1 },
    { 'user': 'fred',   'default': null }
];
Run Code Online (Sandbox Code Playgroud)

然后我想要这样的东西:

var notNullDefault = _.filter(sourceData, ['is_default', ! null ]); // objects with names barney, dino, wilma
var nullDefault = _.filter(sourceData, ['is_default', null ]); // object with name fred
Run Code Online (Sandbox Code Playgroud)

再一次,我是lodash的新手,所以也许有更好的方法来实现这一点.

提前致谢.

GG.*_*GG. 31

这可以得到解决_.reject_.filter:

var notNullDefault = _.reject(sourceData, ['default', null]);

var nullDefault = _.filter(sourceData, ['default', null]);
Run Code Online (Sandbox Code Playgroud)

DEMO