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

如何基于含createdAt的记录数组计算每月平均记录数?

问题说明

我的数据记录格式如下:

[{ createdAt }, { createdAt }, { createdAt }]

需要计算每月平均记录数,已知各月记录数示例如下:

一月 => 3 条记录
二月 => 2 条记录
...
实现步骤

1. 统计各月记录数

遍历所有记录,提取每条数据的月份信息,用键值对结构累计每个月的记录数量:

// 假设你的记录数组名为records,createdAt为合法的日期格式(Date对象/可解析字符串)
const monthlyStats = {};
records.forEach(item => {
  // 提取中文月份名称,比如"一月"
  const monthName = new Date(item.createdAt).toLocaleString('zh-CN', { month: 'long' });
  // 累计计数
  monthlyStats[monthName] = (monthlyStats[monthName] || 0) + 1;
});

2. 计算月度平均值

根据需求选择两种计算逻辑:

  • 逻辑一:仅统计有记录的月份
    总记录数除以实际有数据的月份数:
    const total = records.length;
    const validMonths = Object.keys(monthlyStats).length;
    const avg = total / validMonths;
    
  • 逻辑二:按全年12个月计算(含无记录的月份)
    总记录数除以12,无记录的月份按0计算:
    const total = records.length;
    const avg = total / 12;
    

注意点

  • 确保createdAt字段可以被new Date()正确解析,若为自定义格式需先做转换
  • 若需要英文月份,可修改toLocaleString的参数为'en-US'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:20:18