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

如何将JavaScript日期数组转换为相邻键值对对象数组?

解决方案:将日期数组转换为相邻键值对数组

你可以通过截取原数组的前n-1个元素,再结合map方法实现需求,代码如下:

let range = [
  '2022-11-19',
  '2022-11-26',
  '2022-12-03',
  '2022-12-10',
  '2022-12-17',
  '2022-12-19'
];

let ranger = range.slice(0, -1).map((date, index) => {
  return { [date]: range[index + 1] };
});

思路说明

  • range.slice(0, -1)会截取原数组中除最后一个元素外的所有元素,得到长度为5的数组,和目标结果的长度匹配。
  • 在map回调中,利用动态对象键语法{ [date]: ... },将当前元素作为键,原数组中后一个位置的元素作为值,生成每个键值对对象。

如果更倾向于基础循环写法,也可以用for循环实现:

let ranger = [];
for (let i = 0; i < range.length - 1; i++) {
  ranger.push({ [range[i]]: range[i + 1] });
}

直接对原数组使用map会生成多余的元素(最后一个元素没有后续日期,会得到undefined值),所以需要先截断原数组或者在循环中控制遍历范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:55:20