函数式编程是用来描述数据之间的映射
常用函数式编程库
- Ramda.js \ 中文:自动柯里化
- Underscore
- Lodash \ 中文
Ramda.js库
函数式编程优势主要体现在数据不变性和函数无副作用两方面。Ramda 非常注重运行性能。可靠和快速的实现胜过过于强调函数式的纯度。Ramda 函数库参考教程
1. 安装
使用 node:
$ npm install ramda
2.使用
对于 v0.25 及更高版本,可以导入整个库,或直接从库中选择 ES 模块:
import * as R from 'ramda'
const {identity} = R
R.map(identity, [1, 2, 3])
利用解构导入 ramda 函数可能并不能阻止引入整个库。可以像下面这样手动挑选函数,只会引入 identity 运行所需的部分:
import identity from 'ramda/src/identity'
identity()
或者更好的方式是,通过 import { functionName } from 'ramda'
只引入必需的函数。
Lodash库
Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。 Lodash 的模块化方法 非常适用于:
- 遍历 array、object 和 string
- 对值进行操作和检测
- 创建符合功能的函数