时间段交叉判断

/*
  @ time 需要验证的时间段 [1477476412100,1477476412253]
  @ arr 已经存在的时间段 
        [  [1477476412253,1477476412253],
           [1477476412253,1477476412253],
           [1477476412253,1477476412253]  ]
*/
validTime(time,arr) {
    let res = true;
    
    
    for (let i = 0; i < arr.length; i++) {

        let info = arr[i];

        

        //时间不能重叠冲突
        let st = info[0]
        let et = info[1];  
        
        let st1 = time[0];
        let et1 = time[1];
        

        if (st < st1 && st1 < et) {
            res = false;
            break;
        }

        if (st < et1 && et1 < et) {
            res = false;
            break;
        };

        if (st1 < st && st < et1) {
            res = false;
            break;
        };

        if (st1 < et && et < et1) {
            res = false;
            break;
        };
    }

    return res;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容