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

publicBusFare函数无法返回busFair值,请求排查代码错误

问题描述

我编写了publicBusFare函数,期望返回计算得到的busFair值,但目前无法获取到该返回值。不过当我在函数中使用console.log输出相关内容时能正常运行。请问我哪里出错了?

相关代码如下:

function publicBusFare(passenger) {
    let busFair = 0;
    if (typeof passenger == 'number') {
        // * Checking people for bus
        if (passenger % 50 != 0) {
            let extraPassengerOfBus = passenger % 50;
            // * Checking People for micro bus
            if (extraPassengerOfBus % 11 != 0) {
                let extraPassengerOfMicro = extraPassengerOfBus % 11;
                // * Checking Extra passenger are exist for public bus.
                if (extraPassengerOfMicro != 0) {
                    // * Calculating The Bus Fair For Extra People...
                    busFair = extraPassengerOfMicro * 250;
                    return busFair;
                }
            }
        }
    } else {
        console.log("Please provide Number!")
    }
}
publicBusFare(1);
问题分析与解决

你的函数只有在满足所有嵌套if条件(乘客数不是50的倍数,且除以50的余数不是11的倍数,且该余数再除以11仍有余数)时才会执行return busFair语句。在其他场景下:

  • 比如乘客数是50、11、55这类“刚好坐满大巴/小巴”的情况,函数执行完所有判断后没有任何return,默认返回undefined
  • 输入非数字时,仅执行了console.log提示,同样没有返回值

要解决这个问题,需要确保函数在所有分支路径都有返回逻辑,最简单的方式是在函数末尾统一返回busFair,同时给非数字输入的分支也添加返回值:

修正后的代码:

function publicBusFare(passenger) {
    let busFair = 0;
    if (typeof passenger == 'number') {
        if (passenger % 50 != 0) {
            let extraPassengerOfBus = passenger % 50;
            if (extraPassengerOfBus % 11 != 0) {
                let extraPassengerOfMicro = extraPassengerOfBus % 11;
                if (extraPassengerOfMicro != 0) {
                    busFair = extraPassengerOfMicro * 250;
                }
            }
        }
        // 数字输入场景,统一返回计算后的busFair
        return busFair;
    } else {
        const tip = "Please provide Number!";
        console.log(tip);
        // 非数字场景返回提示信息
        return tip;
    }
}

// 现在调用函数可以正常获取返回值
const result = publicBusFare(1);
console.log(result); // 输出250

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 01:06:40