国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript如何取得多個(gè)時(shí)間段關(guān)聯(lián)的時(shí)間點(diǎn)
滿天的星座
滿天的星座 2017-05-19 10:31:10
0
1
693

假設(shè)有以下時(shí)間段

00:00 - 03:00
03:00 - 03:30
01:00 - 03:20
12:30 - 14:00
13:36 - 15:00

此時(shí),03:00就是一個(gè)時(shí)間點(diǎn),因?yàn)?code>03:00都包含在每個(gè)時(shí)間段內(nèi),14:0013:36是一個(gè)時(shí)間點(diǎn)

那麼,如何在多個(gè)時(shí)間段內(nèi)取得這個(gè)關(guān)聯(lián)節(jié)點(diǎn)呢?只需要一個(gè)時(shí)間節(jié)點(diǎn)就可以了。

或說我如何將這些時(shí)間段分組

[
00:00 - 03:00
03:00 - 03:30
01:00 - 03:20
]

[
12:30 - 14:00
13:36 - 15:00
]

滿天的星座
滿天的星座

全部回覆(1)
習(xí)慣沉默

就是把同區(qū)間的時(shí)間分在一組吧,很簡單,先排好序,再找出開始比前一個(gè)時(shí)間段的結(jié)尾要後的就行。

假設(shè)時(shí)間以 Number 方式存(距離 1 January 1970 00:00:00 UTC 的毫秒數(shù))

時(shí)間段結(jié)構(gòu):

{
  start: 1493125454502,
  end: 1493125454516
}
function sortTime (times) {
  if (times.length <= 1) { return times }

  times = times.sort((a, b) => a.start !== b.start ? a.start - b.start : a.end - b.end)

  let result = []
  let beginIndex = 0

  for (let i = 1; i < times.length; i += 1) {
    if (times[i].start > times[i - 1].end) {
      result.push(times.slice(beginIndex, i))
      beginIndex = i
    }
  }

  if (beginIndex !== times.length) {
    result.push(times.slice(beginIndex, times.length))
  }

  return result
}
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板