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

JavaScript如何从JSON数组固定格式start_date中提取年份做条件统计

你代码的问题出在年份匹配逻辑,直接将完整的start_date时间字符串与"2021"做全等判断,两者内容长度完全不同,永远不会触发匹配。

下面是两种可直接使用的修正方案:

方案1:字符串截取法(性能最优)

因为你明确start_date格式固定为YYYY-MM-DD HH:MM:SS,前4位就是年份,直接截取字符串前4位判断即可:

import data from "./data.json" assert{ type: "json" };

let count = 0;
for (let i = 0; i < data.length; i++) {
    if (data[i].priority === 'P1' && data[i].start_date.slice(0,4) === "2021") {
        count++;
    }
}
console.log(count) // 最终输出2

方案2:Date对象转换法(兼容性更强)

如果后续日期格式可能发生调整,可将字符串转换为日期对象后再取年份判断:

import data from "./data.json" assert{ type: "json" };

// 用数组filter方法简化统计逻辑
const count = data.filter(item => {
  const dateYear = new Date(item.start_date).getFullYear()
  return item.priority === 'P1' && dateYear === 2021
}).length

console.log(count) // 最终输出2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:15:03