针对ramda中的过滤器上的多个条件进行测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对ramda中的过滤器上的多个条件进行测试相关的知识,希望对你有一定的参考价值。

我目前正在做以下事情:

(projects, query, domain) => compose(
  filter<Project>(propEq('domain', domain)),
  filter<Project>(propSatisfies(test(new RegExp(query)), 'name')),
)(projects)

但是,我想知道是否有办法通过组合测试来避免额外的迭代。我看着andallPass,但都没有真正符合我的参数。理想情况下,我会有这样的事情:

filter<Project>(
  all([
    propEq('domain', domain),
    propSatisfies(test(new RegExp(query)), 'name'),
  ]),
);

在ramda这可能吗?

答案

我想这应该做你需要的

filter<Project>(allPass([
  propEq('domain', domain),
  propSatisfies(test(new RegExp(query)), 'name')
]))

你试过吗?

另一答案

你可以使用and,虽然它只用于两个参数。

我也想知道从简单的&&s开始加入谓词有什么问题,从最不可能的开始。

以上是关于针对ramda中的过滤器上的多个条件进行测试的主要内容,如果未能解决你的问题,请参考以下文章

数据框上的多个条件过滤器

基于Python中的多个条件进行过滤

多条件分组精准匹配

通过将安全视图分配给角色并提供针对多个条件的过滤器,在 Snowflake 上实现行级安全性 (RLS)

应该针对不同的排序和过滤条件创建哪些MongoDB索引来提高性能?

在 Oracle DBMS 中的多个列上使用过滤条件连接表