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

如何简化JavaScript中重复的月份时间维度统计输出代码?

优化重复代码的方案

你的代码存在大量重复逻辑,完全可以通过数据抽象+循环来精简,以下是具体实现:

优化后的代码

// 把月份和对应天数整理成数组对象
const months = [
  { name: 'July', days: 31 },
  { name: 'April', days: 30 },
  { name: 'Febuary', days: 28 }
];

// 定义时间单位的显示文本和换算系数
const timeUnits = [
  { label: 'Days', multiplier: 1 },
  { label: 'Hours', multiplier: 24 },
  { label: 'Minutes', multiplier: 24 * 60 },
  { label: 'Seconds', multiplier: 24 * 60 * 60 }
];

// 嵌套循环遍历月份和时间单位,输出结果
for (const month of months) {
  for (const unit of timeUnits) {
    console.log(`${unit.label} in ${month.name}:`, month.days * unit.multiplier);
  }
}

方案说明

  1. 数据与逻辑分离:所有可变信息(月份名称、天数、时间单位规则)都存在数组中,后续要添加其他月份或时间单位时,只需修改数组,不用重复编写console.log语句。
  2. 消除重复代码:通过两层循环替代了原代码中12行重复的console.log调用,代码更简洁也更易维护。

你之前尝试数组和循环没成功,大概率是没把时间单位的换算逻辑也抽象出来,只处理了月份的循环,导致仍要重复编写小时、分钟、秒的计算代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:33:06