利用reduceRight和reduce函数实现函数式编程组合函数compse和pipe

2022/2/14 11:41:37

本文主要是介绍利用reduceRight和reduce函数实现函数式编程组合函数compse和pipe,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

        let fn1=function(x){
            return x+10
        }
        let fn2=function(x){
            return x*10
        }
        let fn3=function(x){
            return x/10
        }
       console.log(fn3(fn2(fn1(1))))

1.compose 函数的作用就是组合函数,将函数串联起来执行,一个函数的输出结果是另一个函数的输入参数,一旦第 1 个函数开始执行,一直到最后一个函数结束。

function compose(...fns){
            return x=>fns.reduceRight((pre,fn)=>fn(pre),x)
        }
         console.log(compose(fn3,fn2,fn1)(1))
      

2.pipe函数跟compose函数的左右是一样的,也是将参数平铺,只不过他的顺序是从左往右。

  function pipe(...fns){
            return x=>fns.reduce((pre,fn)=>fn(pre),x)
        }
          console.log(pipe(fn1,fn2,fn3)(1))

在这里插入图片描述



这篇关于利用reduceRight和reduce函数实现函数式编程组合函数compse和pipe的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程