可以使用一个循环来遍历给定的时间数组,然后比较相邻的时间段是否重叠,并选择较长的结束时间。下面是一个使用 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",
},
]
网友评论