JS循环,如果相邻开始时间和结束时间重叠,结束时间选择长的

可以使用一个循环来遍历给定的时间数组,然后比较相邻的时间段是否重叠,并选择较长的结束时间。下面是一个使用 JavaScript 的示例代码:

function chooseLongerEndTime(timeArray) {
  for (let i = 0; i < timeArray.length - 1; i++) {
    const currentTime = timeArray[i];
    const nextTime = timeArray[i + 1];
    
    if (currentTime.endTime >= nextTime.startTime) {
      // 重叠,选择较长的结束时间
      if (currentTime.endTime < nextTime.endTime) {
        currentTime.endTime = nextTime.endTime;
      }
      // 移除下一个时间段
      timeArray.splice(i + 1, 1);
      // 重新检查当前时间段和下一个时间段
      i--;
    }
  }
  
  return timeArray;
}

const timeArray = [
  {
    "startTime": "2023-09-14 17:33:51",
    "endTime": "2023-09-16 09:22:40",
  },
  {
    "startTime": "2023-09-15 17:33:51",
    "endTime": "2023-09-19 09:22:40",
  },
  {
    "startTime": "2023-09-20 17:33:51",
    "endTime": "2023-09-23 09:22:40",
  },
  {
    "startTime": "2023-09-21 17:33:51",
    "endTime": "2023-09-26 09:22:40",
  },
  {
    "startTime": "2023-09-28 17:33:51",
    "endTime": "2023-09-30 09:22:40",
  },
];

const updatedTimeArray = chooseLongerEndTime(timeArray);
console.log(updatedTimeArray);

运行上述代码将得到以下输出:

[
  {
    "startTime": "2023-09-14 17:33:51",
    "endTime": "2023-09-19 09:22:40",
  },
  {
    "startTime": "2023-09-20 17:33:51",
    "endTime": "2023-09-26 09:22:40",
  },
  {
    "startTime": "2023-09-28 17:33:51",
    "endTime": "2023-09-30 09:22:40",
  },
]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容