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

如何将二维数组转换为包含startTime、endTime的嵌套对象数组

问题原因

你当前的代码仅遍历了最外层的二维数组,直接将外层遍历的索引作为内层时间数组的取值下标,既没有处理内层数组的配对逻辑,也没有生成要求的嵌套数组结构,所以无法得到预期输出。

解决代码

const transformData = () => {
  // 第一层遍历外层的7个时间数组
  return data.map(timeArr => {
    // 第二层遍历每个时间数组,去掉最后一个元素后两两配对
    return timeArr.slice(0, -1).map((startTime, index) => ({
      startTime,
      endTime: timeArr[index + 1]
    }))
  })
}

逻辑说明

  1. 外层map遍历原二维数组的每一项(每个子项都是长度为4的时间字符串数组),返回处理后的子数组,保持外层的嵌套结构
  2. 内层用slice(0, -1)截取时间数组去掉最后一位的部分(长度为3),避免取index+1时出现越界
  3. 内层map将当前遍历到的时间作为startTime,下一个位置的时间作为endTime,组装成要求的对象格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 13:06:05