如何编写“sum(2,3)”和“sum(2)(3)”的输出为5 的函数

任何人都可以帮我写这个函数编写一个函数,其中“sum(2,3)”和“sum(2)(3)”的输出将是5

我认为我们需要更近距离地编写函数!

语法如下: sum(2)(3)currying有关。 这意味着您需要在main函数内返回另一个函数以获得所需的结果。

这是一个很好的video关于Youtube上的 currying ,我从中学到了很多东西。

 function sum(a){ if (arguments.length == 1) { return function(b){ return a + b; } } else { return Object.keys(arguments).reduce((a,b) => arguments[a] + arguments[b]); } } console.log(sum(2,3)); console.log(sum(2)(3));