gpt4 book ai didi

javascript - Sum 函数使用递归和多个参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:22 24 4
gpt4 key购买 nike

是否有办法创建一个同时适用于递归调用(例如 (1)(2)(3)(4))和多个参数(例如 (1, 2, 3, 4))的求和函数?

像这样:

sum(5, 5) // 10
sum(5)(5) // 10

谢谢。

最佳答案

您可以为下一个参数返回一个函数并实现 toString方法。

function sum() {
var add = function (a, b) { return a + b; },
value = Array.prototype.reduce.call(arguments, add, 0);

function f() {
value = Array.prototype.reduce.call(arguments, add, value);
return f;
};
f.toString = function () { return value; };
return f;
}

console.log(sum(5, 5));
console.log(sum(5)(5));
console.log(sum(3, 4, 5)(6, 7));

关于javascript - Sum 函数使用递归和多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45643260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com