我目前正在执行以下操作:
(projects, query, domain) => compose(
filter<Project>(propEq('domain', domain)),
filter<Project>(propSatisfies(test(new RegExp(query)), 'name')),
)(projects)
但是,我想知道是否有一种方法可以通过组合测试来避免额外的迭代。我调查了and
和allPass
,但都没有真正符合我的参数。理想情况下,我会有这样的东西:
filter<Project>(
all([
propEq('domain', domain),
propSatisfies(test(new RegExp(query)), 'name'),
]),
);
在ramda中这可能吗?
答案 0 :(得分:5)
我想这应该满足您的需求
filter<Project>(allPass([
propEq('domain', domain),
propSatisfies(test(new RegExp(query)), 'name')
]))
您尝试过吗?
答案 1 :(得分:0)
您可以使用and
,尽管它仅用于两个参数。
我还想知道,从最小的概率开始,将谓词与纯&&
连在一起有什么问题。