我想使用Ramda>]过滤出以下数据。所需的结果是显示usage === 'Defining'
的属性。
const data = [{ "attributes": [ {"usage": "Descriptive"}, {"usage": "Defining"} ] }]
到目前为止,这是我所做的,并且没有筛选出数据并返回整个对象。
R.filter( R.compose( R.any(R.propEq('usage', 'Defining')), R.prop('attributes') ) )(data)
以下是我要达到的理想结果:
[{
"attributes":
[
{"usage": "Defining"}
]
}]
我想使用Ramda过滤掉以下数据。期望的结果是显示用法==='定义'的属性。 const data = [{“属性”:[{“用法”:“描述性”},{“用法”:“ ...
您正在尝试在这里同时做一个地图和一个过滤器,因此值得为每个函数分别设置功能,然后将它们组合在一起以获得所需的内容:
如果我正确理解了您想做什么,那么当您要基于属性进行过滤时,where
非常有用。但是您想将其与where
结合使用。尽管Ramda不提供map
,但是编写我们自己的很容易。我们创建一个函数,该函数接受一个过滤函数和一个映射函数,并返回一个函数,该函数接受一个数组并仅映射那些通过过滤器的结果。以这种方式解决问题,我们可以写类似的东西: