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

Vue Apexchart统计模块对象转数组null值后置问题咨询

问题根因

null值被排在数组末尾的核心原因有两个:

  1. JS 中普通对象的字符串类型键的遍历规则是按插入时间排序。你统计数据时,先为有事件触发的日期创建了对象键,后续才遍历日期列表补全了值为null的缺失日期键,这些补插的键插入时间更晚,调用Object.keys()/Object.values()时自然会排在后面。
  2. 你转换数组时没有使用提前整理好的、按时间顺序排列的newLabels日期列表作为顺序基准,而是直接遍历统计对象的键,自然无法匹配预期的日期顺序。
解决方案

你已经有了按时间顺序排好的全量日期数组newLabels,直接以它为顺序基准,从每个统计对象中取值即可,逻辑非常简单:

// 如果你已经提前给统计对象补全了null值,直接映射即可
const ArrayA = newLabels.map(date => open[date])
const ArrayB = newLabels.map(date => closed[date])

你也可以省略提前补全null的步骤,在映射时做兜底处理,代码更简洁:

// 无需提前补null,取值时做兼容即可
const ArrayA = newLabels.map(date => open[date] ?? null)
const ArrayB = newLabels.map(date => closed[date] ?? null)

你原有代码里直接遍历Object.keys(open)、以及把open和closed的取值混塞入同一个数组的逻辑都是错误的,直接替换为上面的映射逻辑即可得到符合要求的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:45:02