作用:lodash/fp模块提供了许多实用性的方法,这些方法底层是经过了柯里化封装的函数
    特点:

    • 固定性,写法是固定的
    • 函数优先
    • 数据在后 ```javascript /**
      • lodash/fp 模块
      • @desc fp模块 提供了实用的函数式编程方法
      • 特点:1. 固定的;2. 函数优先;3. 数据再后
      • 不同点:
      • 与手动调用_.curry函数合成一个新函数不一样,fp底层封装了curry函数,只需要按照固定的格式书写即可
      • fp模块提供的方法都是经过底层curry封装后得到的,因此本身就具有柯里化 */

    const _ = require(‘lodash’); const fp = require(‘lodash/fp’);

    // 先数据,后方法 console.log(.split(‘hello world’, ()=> ‘ ‘)) // 先数据,后函数 console.log(.map([‘a’,’b’,’c’], _.toUpper)) // 先数据,后函数

    // 先方法,后数据 // lodash/fp 模块 console.log(fp.split(‘ ‘, ‘hello world’)); // 先函数,后数据 console.log(fp.map(.toUpper, [‘a’, ‘b’, ‘c’])); // 先函数,后回调 console.log(fp.map(.toUpper)([‘a’, ‘b’, ‘c’])); // 先函数,后回调

    // 使用fp模块 例子:NEVE GO BACK => neve-go-backs const fn = fp.flowRight(fp.join(‘-), fp.toUpwer(), fp.split(‘ ‘)) console.log(fn(‘NEVE GO BACK’))

    /**

    • lodash的map和lodash/fp 模块中 map 方法的区别 */ console.log(.map([‘1’,’2’,’3’], .parseInt)); // [1,2,3] console.log(_.map([‘1’,’2’,’3’], parseInt)) // [1, NaN, NaN] console.log(fp.map(parseInt, [‘1’,’2’,’3’])); // [1, 2, 3] ```