_.filter对象数组使用值为

时间:2016-12-19 12:27:39

标签: lodash

我想过滤一个对象数组,我只想要状态等于0或1的对象,这是我的代码。

_.filter(array, { status: 1 || 0 });

但它不起作用只能获取状态等于1的对象。

_.filter(array, function (a) { return a.status === 1 || a.status === 0 });

有效,但我想知道简写方法。如何在不使用函数方法的情况下完成此操作?

编辑: 好,知道了。我实际上寻找的是箭头功能。

_.filter(array, a => a.status === 1 || a status === 0);

2 个答案:

答案 0 :(得分:5)

你的速记无效,请阅读有关_.matches谓词的更多信息,在你的案例中使用函数

_.filter(array, item => _.includes([0, 1], item.status))

答案 1 :(得分:1)

使用function作为谓词:

_.filter(array, function(i) { return i.status === 1 || i.status === 0; }

https://lodash.com/docs/4.17.2#filter