2

给定一个元素的属性数组(来自控制台窗口) 在此处输入图像描述

我需要检索所有“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)

我得到'id'属性: 在此处输入图像描述

过滤器方法应该返回数组中的所有匹配项- 我错过了什么?**

4

1 回答 1

3

R.or期待两个布尔参数,尽管您传递给它的两个函数 ( R.equals) 改为返回布尔值。您应该能够换掉 with 的使用R.orR.either它需要两个谓词函数,就像您拥有的那样,您的过滤器应该按照您的预期进行。

于 2016-03-15T10:05:27.247 回答