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

使用JavaScript箭头函数实现三数取最大值的代码正确性咨询

代码正确性分析

你的这段代码存在逻辑漏洞,并非完全正确。

问题所在

当x <= y时,代码直接返回y,但没有判断z是否大于y。比如调用fu(5,10,15),按照代码逻辑会返回10,但实际最大值是15,这就出现错误了。

修正后的代码

你需要在else分支里再增加一层对y和z的比较:

const fu = (x, y, z) => {
    if (x > y) {
        if (x > z) return x;
        else return z;
    } else {
        if (y > z) return y;
        else return z;
    }
}
console.log(fu(10,14,9)); // 输出14,正确
console.log(fu(5,10,15)); // 输出15,正确

更简洁的写法(可选)

如果不想嵌套太多if-else,也可以直接利用JS内置的Math.max()方法,一行搞定:

const fu = (x, y, z) => Math.max(x, y, z);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:04:53