将逻辑NOT应用于propEq并在ramda中过滤

ant*_*tfx 8 javascript functional-programming ramda.js

我感觉自己的方式虽然功能编程与Ramda和我正在努力的事情听起来应该很容易.

我想要一个属性等于值的数组中的所有条目.

例如在纯粹的js中

const filtered = source.filter(entry => entry.name !== 'something');
Run Code Online (Sandbox Code Playgroud)

在Ramda中有一个,propEq所以我可以很容易地得到所有匹配值的元素,如

const filtered = R.filter(R.propEq('name','something'),source);
Run Code Online (Sandbox Code Playgroud)

但我不能看到如何的是相反,只返回值等于值.

我敢肯定这一定非常容易,但我很难看到内置函数来做到这一点,我能想到的最接近的是:

const others = R.filter(rate => rate.name !== name,res.rates);
Run Code Online (Sandbox Code Playgroud)

但我相信一定有更好的方法吗?

Sco*_*yet 17

是的,Ramda有一个相反的filter叫法reject:

R.reject(R.propEq('name', 'something'))(source)
Run Code Online (Sandbox Code Playgroud)

你可以在Ramda REPL上看到这个