Javascript lodash u2;查找所有匹配项

Javascript lodash u2;查找所有匹配项,javascript,lodash,Javascript,Lodash,我有一个简单的函数来返回满足我条件的对象 代码如下所示: var res = _.find($state.get(), function(i) { var match = i.name.match(re); return match && (!i.restrict || i.restrict($rootScope.user)); }); 我如何找到所有符合此标准的结果(不仅仅是第一个结果),以及所有结果 谢

我有一个简单的函数来返回满足我条件的对象

代码如下所示:

    var res = _.find($state.get(), function(i) {
        var match = i.name.match(re);
        return match &&
            (!i.restrict || i.restrict($rootScope.user));
    });
我如何找到所有符合此标准的结果(不仅仅是第一个结果),以及所有结果


谢谢你的建议。

只需使用
\u0.filter
-它会返回所有匹配的项目

迭代集合的元素,返回所有元素的数组谓词返回truthy for。谓词由三个参数调用:(value、index | key、collection)


您可以使用u.filter,传入所有需求,如下所示:

var res = _.filter($state.get(), function(i) {
        var match = i.name.match(re);
        return match &&
            (!i.restrict || i.restrict($rootScope.user));
    });

不含lodash,使用ES6,仅供参考:

基本示例(获取年龄小于30岁的人):


您正在查找
\过滤器
const peopleYoungerThan30 = personArray.filter(person => person.age < 30)
$state.get().filter(i => {
    var match = i.name.match(re);
    return match &&
            (!i.restrict || i.restrict($rootScope.user));
})