js多組時間不重疊(互斥判斷)
阿新 • • 發佈:2020-12-11
技術標籤:JavaScript
文章目錄
1、業務背景:
給一個數組,判斷時間是否有交叉。
2、程式碼:
不多說了,直接擼程式碼
var list = [
{
"start": "2020-12-01",
"end": "2020-12-07"
},
{
"start": "2020-12-02",
"end": "2020-12-08"
},
{
"start": "2020-12-15",
"end": "2020-12-21"
}
]
function from_list_get_time_ms(list) {
return list.map((item,index)=>{
return new Date(item['start']).getTime()
})
}
function is_time_coss(list_time_ms) {
let len_list = list_time_ms.length
return list_time_ms.map((item,index)=>{
if (index < len_list){
if (list_time_ms[index+1] - item <= 1000*3600*24*6){
return false
}
else {
return true
}
}else{
return true
}
})
}
var list_time_ms = from_list_get_time_ms(list);
var list_time_ms_sort = list_time_ms.sort();
is_time_coss(list_time_ms_sort)
console.log("is_coss",is_time_coss(list_time_ms_sort))