一尘不染

JavaScript Variadic curried sum function

javascript

我需要一个js sum函数来像这样工作:

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

我听说这是行不通的。但是听说如果+在前面加sum就可以了。喜欢+sum(1)(2)(3)(4)
有关如何执行此操作的任何想法?


阅读 313

收藏
2020-04-25

共1个答案

一尘不染

不知道我是否明白你想要什么,但是

function sum(n) {

  var v = function(x) {

    return sum(n + x);

  };



  v.valueOf = v.toString = function() {

    return n;

  };



  return v;

}



console.log(+sum(1)(2)(3)(4));
2020-04-25