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

JavaScript创建带日期值的关联结构遇空元素问题求助

解决JavaScript中关联结构的空元素问题

嗨,MYT!我来帮你搞定这个小问题~

你遇到的核心问题是误用了数组来实现键值对映射。JavaScript里的数组是基于索引的有序集合,当你给array[11]赋值时,它会自动填充索引0到10的位置,这些位置没有被赋值就会变成空值,这就是你看到的2 : ""、3 : ""这类多余项的原因。而你想要的是仅包含指定键的关联结构,这时候应该用**普通对象(Object)**来实现。

修正后的代码

// 初始化空对象,而不是数组
var dateMap = {};

// 先检查当前键是否存在,不存在则初始化空数组
if (!dateMap[no]) {
  dateMap[no] = [];
}

// 将日期推入对应键的数组中
dateMap[no].push(date);

效果说明

这样修改后,不管你用的no是数字(比如1、11)还是字符串,都会生成你期望的结构:

{
  "1": ["2018-01-01", "2018-02-02"],
  "11": ["2018-01-01", "2018-02-02"]
}

不会再出现中间那些多余的空元素啦~如果需要确保键是字符串类型,也可以手动转换:dateMap[String(no)],效果是一样的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:32:06