Variadic curried sum function

前端 未结 16 2048
清酒与你
清酒与你 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:27

    This is an example of using empty brackets in the last call as a close key (from my last interview):

    sum(1)(4)(66)(35)(3)()

    function sum(numberOne) {
      var count = numberOne;
      return function by(numberTwo) {
        if (numberTwo === undefined) {
          return count;
        } else {
          count += numberTwo;
          return by;
        }
      }
    }
    console.log(sum(1)(4)(66)(35)(3)());

提交回复
热议问题