You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js递归求和函数返回undefined而非预期值问题

解决递归累加函数返回undefined的问题

你的问题出在递归调用时没有返回结果,导致最外层函数调用无法拿到最终的计算值。

看你的代码,当num != 0时,你调用了summation(num, value),但没有用return把这个递归调用的结果返回给上层函数。虽然最后一次递归(num=0)确实返回了正确的6,但这个值没有被传递回最初的调用层,上层函数执行完递归调用后没有返回值,默认返回undefined。

修正后的代码如下:

function summation(num, args=0) {
    let value = args;
    value += num;
    num -= 1;
    if(num == 0){
        return value;
    }
    // 加上return,将递归结果传递回上层
    return summation(num, value);
}
console.log(summation(3)); // 输出6

修改点就是在递归调用前添加return,让每一层递归都把计算结果向上传递,这样最外层的函数调用就能拿到最终的累加值。

内容的提问来源于stack exchange,提问作者Macddee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 18:44:49