如何精简存在重复逻辑的JavaScript时间格式处理代码
JavaScript代码重复逻辑优化方案
我们可以将重复的时间解析、颜色匹配逻辑抽离为公共复用函数,优化后代码如下:
// 公共工具函数:将"h:m:s"格式的时间字符串转换为总分钟数 function parseTimeToMinutes(timeStr) { const [h, m, s] = timeStr.split(":").map(Number); return h * 60 + m + s / 60; } // 公共工具函数:根据总分钟数返回对应状态色值 function getTimeColor(minutes) { return minutes <= 18 ? "#0CC234" : minutes < 30 ? "#FACE5A" : "#FF0101"; } // 业务逻辑调用 const time1Minutes = parseTimeToMinutes(truck["Fase 1"]); const color1 = getTimeColor(time1Minutes); const Fase2 = truck["Fase 2"]; console.log({ Fase2 }); const time2Minutes = parseTimeToMinutes(Fase2); const color2 = getTimeColor(time2Minutes);
优化收益
- 删除了原代码中无意义的冗余中间变量,代码更精简
- 核心逻辑仅实现一次,后续新增Fase3、Fase4等同类字段处理需求时,仅需2行代码即可完成计算,无需重复拷贝逻辑
- 逻辑统一收口维护:后续如果需要调整时间计算规则、颜色阈值、色值时,只需修改公共函数一处,所有调用位置自动同步,避免多段重复逻辑修改时出现遗漏
内容的提问来源于stack exchange,提问作者DGomez
相关产品推荐
相关产品推荐

