JavaScript for循环数值区间判断异常:结果不符合预期求助
问题分析与解决方案
看起来你的条件判断逻辑遗漏了几个关键分支,导致大部分场景都错误返回了'between'。先把你的预期规则明确下来:
预期规则
- 当
current = 3时,返回'before' - 当
current = 4或current = 7时,返回'key-two' - 当
current = 5时,返回'between' - 当
current ≥ 8时,返回'after'
当前代码的问题
目前你的代码只处理了current=7和current≥8的情况,其余所有数值都默认走了'between'分支,完全没覆盖current=3、current=4、current=5这些特定场景;另外条件判断的顺序可能也有问题——如果先判断大范围的默认分支,会直接覆盖前面的特定值判断逻辑。
修正后的代码示例
这里用Python写一个符合预期的逻辑,你可以根据自己使用的编程语言调整:
def get_current_status(current): # 先处理优先级最高的特定值 if current == 3: return 'before' # 合并返回相同结果的特定值 elif current == 4 or current == 7: return 'key-two' elif current == 5: return 'between' # 处理范围类条件 elif current >= 8: return 'after' # 可选:处理未在需求中定义的数值,按需修改默认返回 else: return 'unknown'
测试验证
快速验证几个关键场景:
current=3→ 返回'before'✔️current=4→ 返回'key-two'✔️current=5→ 返回'between'✔️current=7→ 返回'key-two'✔️current=8→ 返回'after'✔️
对于current=6这类未在需求中明确的数值,代码返回'unknown',你可以根据实际业务需求修改这个分支的逻辑。
内容的提问来源于stack exchange,提问作者KahunaCoder
相关产品推荐
相关产品推荐

