Variadic curried sum函数 [英] Variadic curried sum function

查看:177
本文介绍了Variadic curried sum函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个js sum函数才能这样工作:

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.

我听说无法完成。但是听说如果在总和之前添加 + 就可以了。
喜欢 + sum(1)(2)(3)(4)
有关如何做到这一点的任何想法?

I heard it can't be done. But heard that if adding + in front of sum can be done. Like +sum(1)(2)(3)(4).
Any ideas of how to do this?

推荐答案

不确定我是否理解你的想法,但是

Not sure if I understood what you want, but

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));

JsFiddle

这篇关于Variadic curried sum函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆