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

前端之家收集整理的这篇文章主要介绍了javascript – 将逻辑NOT应用于propEq并在ramda中过滤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我感觉自己的方式虽然功能性编程与 Ramda和我正在努力的事情听起来应该很容易.

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

例如在纯粹的js中

const filtered = source.filter(entry => entry.name !== 'something');

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

const filtered = R.filter(R.propEq('name','something'),source);

但我无法看到如何反转,只返回不等于值的值.

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

const others = R.filter(rate => rate.name !== name,res.rates);

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

解决方法

是的,Ramda有一个名为 reject的反向过滤器:
R.reject(R.propEq('name','something'))(source)

你可以在Ramda REPL看到这个

猜你在找的JavaScript相关文章