5 Matching Annotations
- Oct 2021
-
-
Another option is the use the functional library Ramda, while the syntax may be a bit different from the Ruby and Pure JS version, I find it to be more declarive: list = [null, "say", "kenglish", "co", null] R.reject(R.isNil, list) // return new array [ 'say', 'kenglish', 'co' ]
-
- Aug 2018
-
adispring.github.io adispring.github.io
-
但是这可能会使调试变得更麻烦
暂时还看不出来
-
var sortUserTasks = R.compose(R.map(R.sortBy(R.prop("dueDate"))), activeByUser);
从后往前看,从里往外看:
activeByUser
处理数据返回的结果,传给R.prop("dueDate")
函数——提取其中的dueDate
属性的值的列表——再进行默认排序(R.sortBy
)。 需要注意的是:R.map 是用于将里面包裹的函数用于对activeByUser
返回的数据列表每个元素进行处理的。 -
注意到有什么不同了吗?这里没有提到任务列表。Ramda 代码只给我们函数(没有给数据参数)。
尚未带入数据的函数可以进行任意组合,已经带入数据的函数可能已经得到结果,不能再组合——Ramda 的特点就在于,它是先函数参数,后数据参数,这意味着你能在组合各种功能函数获得最终所需要的函数后,再带入数据参数,获得最终的结果。
Tags
Annotators
URL
-
-
adispring.github.io adispring.github.ioRamda 简介1
-
`prop` takes two arguments. If I just give it one, I get a function back
类似于偏函数
Tags
Annotators
URL
-