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

两个逻辑近似的JS罗马数字转整数函数为何输出结果不同

异常原因分析

两段代码的罗马数字转整数逻辑完全一致,唯一的错误点是romanToInt函数的返回语句位置错误:

  • 运行异常的romanToInt把return total写在了for循环内部,函数执行时只会完成第一轮循环就直接返回结果,不会继续遍历后续的罗马字符。比如测试用例III只会累加第一个I的值1就返回,无法得到正确结果3。
  • 运行正常的romanToInt2把return total放在了for循环结束之后,会完整遍历所有罗马字符完成计算后才返回最终结果,逻辑符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:39:01