1
我有兩個數組moment-ranges,表示兩個人都忙的時間段。從兩個時間範圍數組(計時範圍)計算工會時間範圍
什麼是計算包含工作時間範圍的數組的最佳方式?如果兩個繁忙的時期重疊的個人,我需要的時間範圍,代表整個時期,他們很忙。
下面是一個例子:
const firstBusyPeriods = [
{ start: "2017-04-05T10:00:00Z", end: "2017-04-05T12:00:00Z" },
{ start: "2017-04-05T14:00:00Z", end: "2017-04-05T15:00:00Z" }
]
const secondBusyPeriods = [
{ start: "2017-04-05T08:00:00Z", end: "2017-04-05T11:00:00Z" },
{ start: "2017-04-05T16:00:00Z", end: "2017-04-05T17:00:00Z" }
]
所得陣列應該是這樣的:
const result = [
{ start: "2017-04-05T08:00:00Z", end: "2017-04-05T12:00:00Z" },
{ start: "2017-04-05T14:00:00Z", end: "2017-04-05T15:00:00Z" },
{ start: "2017-04-05T16:00:00Z", end: "2017-04-05T17:00:00Z" }
]
結果包含重疊忙週期的結合,並且然後包括兩個時期,唐」 t在個體之間重疊。
最好是連接兩個數組,對結果數組進行排序並應用reduce函數?
或者最好是遞歸迭代兩個數組中的一個,併產生一個帶有union和非相交週期的堆棧?
答案很好,這裏有一個類似的問題,應該很容易修改:http://stackoverflow.com/a/32770846/1075247 – Pureferret