我需要检索所有'id'或'name'属性
执行此操作时:
R.filter(R.where({name: R.or(R.equals('name'), R.equals('id'))}), attr)
当这样颠倒“或”参数时:
R.filter(R.where({name: R.or(R.equals('id'), R.equals('name'))}), attr)
过滤器方法应该返回数组中的所有匹配项 - 我错过了什么?**
最佳答案
R.or
需要两个 bool 参数,尽管您向它传递了两个返回 bool 值的函数( R.equals
)。您应该能够将 R.or
的使用替换为 R.either
,它需要两个像您一样的谓词函数,并且您的过滤器应该执行您期望的操作。
关于javascript - ramda 过滤器仅返回第一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007146/