标签:条件 大写 rev ima 模拟实现 first nbsp pos 了解
纯函数和柯里化很容易写出洋葱代码,即一层套一层的方法h(g(f(x)))。
例如前面实现的一个功能:将一个数组的最后一个元素转换成大写字母:_.toUpper(_.first(_.reverse(array))),这种多次嵌套就是洋葱代码,为了解决这种状况,需要使用函数组合。
函数组合可以让我们把细粒度的函数重新组合生成一个新的函数
如果一个函数要经过多个函数处理才能得到最终值,这个时候可以把中间过程的函数合并成一个函数
函数就像是数据的管道,函数组合就是把这些管道连接起来,让数据穿过多个管道形成最终结果,函数组合默认是从右到左执行。
lodash中组合函数flow()和flowRight(),它们都可以组合多个函数,flow()是从左到右运行,flowRight()是从右到左运行。
函数的组合要满足结合律:我们可以把g和h组合,也可以把f和g组合,并且结果都是一样的:
标签:条件 大写 rev ima 模拟实现 first nbsp pos 了解
原文地址:https://www.cnblogs.com/yuyujuan/p/14544146.html