Variadic curried sum function

前端 未结 16 2026
清酒与你
清酒与你 2020-11-22 06:33

I need a js sum function to work like this:

sum(1)(2) = 3
sum(1)(2)(3) = 6
sum(1)(2)(3)(4) = 10 
etc.

I heard it can\'t be done. But heard

16条回答
  •  甜味超标
    2020-11-22 07:20

    Here is a solution that uses ES6 and toString, similar to @Vemba

    function add(a) {
      let curry = (b) => {
        a += b
        return curry
      }
      curry.toString = () => a
      return curry
    }
    
    console.log(add(1))
    console.log(add(1)(2))
    console.log(add(1)(2)(3))
    console.log(add(1)(2)(3)(4))

提交回复
热议问题