LuckyWinty / fe-weekly-questions

A pro to record some interview questions every week...
MIT License
342 stars 34 forks source link

实现sum(1,2,3)==sum(1)(2)(3) #50

Open LuckyWinty opened 4 years ago

LuckyWinty commented 4 years ago
function sum(...args){
  function currySum(...rest){
    args.push(...rest)
    return currySum
  }
  currySum.toString= function(){ 
    return args.reduce((result,cur)=>{
      return result + cur
    })
  }
  currySum.toNumber= function(){ 
    return args.reduce((result,cur)=>{
      return result + cur
    })
  }
  return currySum
}

更多参考:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/134