如何在JavaScript中根据工时数值编写正确的条件判断逻辑?
修正周工时对应数组的三元表达式逻辑
原代码存在两处核心问题:一是条件规则与需求不符,二是判断顺序存在逻辑漏洞(高工时数值会被前置的小范围条件错误拦截)。以下是完全匹配需求的修正代码:
if (user_week) { return hourTracked > 30 ? ["start", "start", "start"] : hourTracked > 26 ? ["start", "start"] : hourTracked === 20 ? ["start"] : []; }
修正说明:
- 调整判断顺序:从最高工时范围(>30)开始向下匹配,避免大数值被低范围条件误判
- 替换原错误条件
>=28 && hourtracked < 30为需求规定的hourTracked > 26 - 统一变量名大小写(原代码混用
hourTracked和hourtracked,需保持命名一致)
若需兼容工时等于26、30的边界场景,可根据实际业务需求将条件调整为>=27或>=31,当前代码严格遵循你给出的规则。
内容的提问来源于stack exchange,提问作者Florentino Moore
相关产品推荐
相关产品推荐

