实现compose

74 阅读1分钟

  function f1(arg){
    return arg
  }
  function f2(arg){
   return arg
  }
  fucntion f3(arg){
   return arg
  }
  
  let res=compose(f1,f2,f3)("omg")
  
  function compose(...funcs){
    if(funcs.length==0){
     return (args)=>args
    }
    if(funcs.length==1){
      return funcs[0]
    }
    return funcs.reduce((a,b)=>(...args)=>a(b(args)))
  }