关于前端:函数柯里化-add123

函数柯里化是,接管一个函数A作为参数,运行后能够返回一个新的函数B,新函数B能够处理函数A的残余参数

function add(...args){
     return args.reduce((pre,curr)=> pre+curr)
}

function curry(fn){
   let args=[]
    return function c(...newargs){
        if(newargs.length){
             args=[...args,...newargs]
              return args
          }else{
              let val=fn.apply(this,args)
                args=[]
                return val
          }
     }
}

let addc=curry(add)
addc(1)(2)(3)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理