查找开始时间和结束时间数组之间的间隔的最佳方法是什么

What is the best way to find the intervals between the array of start and end time

本文关键字:时间 最佳 是什么 方法 数组 开始时 开始 结束 查找 之间      更新时间:2023-09-26

我有开始时间和结束时间的数组。我想从间隔数组中找到实际的开始时间和结束时间。数组给出如下。

var shiftArray = [{"startTime":"14:00:00","endTime":"21:59:59"},
                  {"startTime":"06:00:00","endTime":"13:59:59"},
                  {"startTime":"22:00:00","endTime":"05:59:59"}];

预期结果是:

todayShift = {"startTime":"06:00:00", "endTime":"05:59:59"};

任何人都可以建议一些最佳选择来实现预期的结果。

我认为除了循环和比较它们之外没有其他方法

var shiftArray = [{
  "startTime": "14:00:00",
  "endTime": "21:59:59"
}, {
  "startTime": "06:00:00",
  "endTime": "13:59:59"
}, {
  "startTime": "22:00:00",
  "endTime": "05:59:59"
}];
var todayShift = {
  "startTime": "23:59:59",
  "endTime": "00:00:00"
};
shiftArray.forEach(function(shift) {
  if (shift.startTime < todayShift.startTime) {
    todayShift.startTime = shift.startTime;
  }
  if (shift.endTime > todayShift.endTime) {
    todayShift.endTime = shift.endTime;
  }
})
result.innerHTML = JSON.stringify(todayShift, null, 2)
<pre id="result"></pre>