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

Javascript生成JSON对象时无法正确输出NULL值的问题求解

问题根因

当没有匹配到符合条件的重叠交易线时,isOverLap仍为初始值false,openDate也保持初始的null。此时执行openDate = new Date(openDate)会生成1970年1月1日的日期对象,用这个日期和当前时间计算间隔月份,就会得到600+的错误数值,这就是你输出不符合预期的原因。

修复方案

不需要新增else if分支,只需要在计算月份、给time_for_overlap_months字段赋值前,先判断是否存在重叠交易线即可:如果存在重叠,再计算间隔月份;如果不存在重叠,直接给字段赋值null即可。同时还要同步调整minimum_two_years_overlapping字段的赋值逻辑,避免无重叠时出现错误结果。

你可以把原有代码中字段赋值的部分替换为以下内容:

//diff is the conversion for opendate to today's date. It converts milliseconds to months
jsonOutput["overlapping_tradelines"] = isOverLap;
const now = Date.now();
let months = null;
minimum_two_years_overlapping = false;

// 仅存在重叠交易线时计算月份
if (isOverLap) {
  openDate = new Date(openDate);
  let diff = now - openDate;
  diff = diff / (30 * 24 * 60 * 60 * 1000);
  months = Math.floor(diff);
  // 原逻辑写的diff == 24,只有刚好满24个月才会返回true,正常判断满2年可改为>=,你可按需调整
  minimum_two_years_overlapping = diff >= 24;
}

jsonOutput["time_for_overlap_months"] = months;
jsonOutput["minimum_two_years_overlapping"] = minimum_two_years_overlapping;

let version = "08.23.21";
jsonOutput["version"] = version;

console.log(jsonOutput);

内容的提问来源于stack exchange,提问作者Angelo G. Vazquez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:15:02