筛选从5分钟间隔到20分钟间隔的日期数组

我在08:00-17:00之间有一个很大的空位数组用于预订申请。每个时隙是5分钟,我已经删除了所有的时隙,这是一个已经预订的时隙重叠。

例如,在11:00-12:50之间已经有一个事件,所以这个时隙不可用。

{
    "date": "2019-03-15",
    "start": "2019-03-15T09:15:00.000Z",
    "starttime": "10:15",
    "end": "2019-03-15T09:45:00.000Z",
    "endtime": "10:45"
  },
  {
    "date": "2019-03-15",
    "start": "2019-03-15T09:20:00.000Z",
    "starttime": "10:20",
    "end": "2019-03-15T09:50:00.000Z",
    "endtime": "10:50"
  },
  {
    "date": "2019-03-15",
    "start": "2019-03-15T09:25:00.000Z",
    "starttime": "10:25",
    "end": "2019-03-15T09:55:00.000Z",
    "endtime": "10:55"
  },
  {
    "date": "2019-03-15",
    "start": "2019-03-15T09:30:00.000Z",
    "starttime": "10:30",
    "end": "2019-03-15T10:00:00.000Z",
    "endtime": "11:00"
  },
  {
    "date": "2019-03-15",
    "start": "2019-03-15T11:50:00.000Z",
    "starttime": "12:50",
    "end": "2019-03-15T12:20:00.000Z",
    "endtime": "13:20"
  },

但是,在我将其返回给最终用户之前,我需要删除所有元素,以便每个插槽之间有20分钟的间隔。因此,我希望它们之间有20分钟的间隔,而不是每5分钟一次。所以结束时间一定是10点20分...10点40分...11:00..所有活动不得与已预订的活动有差距。因此,每个插槽都必须有一个连接到现有事件的插槽。

我该怎么做呢?

转载请注明出处:http://www.intsu.net/article/20230502/1492955.html