lodash/fp lodash中的fp模块提供了实用的,对函数式编程 友好的方法
提供了不可变的自动柯里化、函数优先、数据置后 的方法。
lodash模块与lodash/fp模块方法对比
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 const _ = require ('lodash' )_.map(['a' ,'b' ,'c' ],_.toUpper) _.map(['a' ,'b' ,'c' ]) _.split('Hello World' ,' ' ) const fp = require ('lodash/fp' )fp.map(fp.toUpper,['a' ,'b' ,'c' ]) fp.map(fp.toUpper)(['a' ,'b' ,'c' ]) fp.split(' ' ,'Hello World' ) fp.split(' ' )('Hello World' )
例子
1 2 3 4 5 6 const fp = require ('lodash/fp' )const f = fp.flowRight(fp.join('-' ),fp.map(fp.toLower),fp.split(' ' ))console .log(f('NEVER SAY DIE' ))
map方法 lodash与lodash/fp中map的区别
在lodash函数中,map的第二个参数接受三个参数(当前值,index,源数组)
在fp模块中,map仅接受一个参数(当前值)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 const _ = require ('lodash' )let result = _.map(['32' ,'8' ,'10' ],parseInt )console .log(result)const fp = require ('lodash' )let resultFp = fp.map(parseInt ,['32' ,'8' ,'10' ])console .log(resultFp)