首页 > 其他分享 >js判断多个区间是否有交叉重叠

js判断多个区间是否有交叉重叠

时间:2023-01-29 11:01:30浏览次数:48  
标签:11 12 obj 重叠 交叉 js let 2018 date

<script type="text/javascript">
        /*
        * 思路: 把开始日期、结束日期分别存进两个数组,从开始时间的第二个元素去比较结束时间的第一个元素。
        *       如此循环判断,如果小于或者等于,就代表时间段有交叉,直接跳出循环.
        */
 
        startTime = ["2018/5/25", "2018/11/4", "2018/11/11", "2018/12/1", "2018/12/5", "2018/12/4"];
        endTime = ["2018/5/30", "2018/11/5", "2018/11/14", "2018/12/4", "2018/12/14", "2019/2/28"];
 
        /*
        *@params "2018/5/25"
        *@return "20180525"
        */
        var getFormatDate = str => {
            let date = str.split('/');    
            let month = zeroFill(date[1]);
            let day = zeroFill(date[2]);
            return date[0]+month+day;  
        };
 
        var zeroFill = obj => {
            obj = obj + '';
            if(obj.length == 1){
                obj = '0'+obj;
            }
            return obj;
        };
 
        let startArr = [],endArr = [];
        startTime.map((item)=>{ startArr.push(getFormatDate(item)); });
        endTime.map((item)=>{ endArr.push(getFormatDate(item)); });
        
        for(let i=1;i<startArr.length;i++){
            if (startArr[i] <= endArr[i-1]){
                alert("时间段存在重叠!");
                break;
            }
        }
    </script>

转载来源:https://blog.csdn.net/weixin_41190571/article/details/88039717

标签:11,12,obj,重叠,交叉,js,let,2018,date
From: https://www.cnblogs.com/hao-1234-1234/p/17072025.html

相关文章

  • Angularjs的工程化
    Angularjs的工程化AMD规范和CMD规范为什么需要模块化管理工具在编写项目时可能需要加载很多js文件,若b.js依赖a.js,且a.js比b.js大很多,那么浏览器会让b.js等待a.js加载完......
  • js 比较两个时间相差的天数
    util.TowTimeDayFormat=function(time1,time2){lettotalDays,diffDatevarday1=Date.parse(time1)varday2=Date.parse(time2)//将两个......
  • Json.NET 序列化解析
    Json.NET是一款.NET平台的JSON框架,它还有一个我们熟知的名字:Newtonsoft.Json。1.介绍Json.NET有如下功能及特点:灵活的JSON序列化器,用于.NET对象和JSON之间......
  • SpringBoot中读取JSON文件信息并转换为Map对象
    SpringBoot中读取JSON文件信息并转换为Map对象需要引入的依赖<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2<......
  • ExtJS-自定义事件(观察者模式)实现
    更新记录2023年1月6日从笔记迁移到博客。转载请注明出处:ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html使用Ext.util.Observable类型即可。代码......
  • js函数参数默认值
    以前的写法,利用短路原则来写:functionhaosy(name,age){name=name||'小郝';age=age||21;alert('读者你好,我是作者'+name+',芳龄'+age+'岁。');}调用:情......
  • JSP概念和JSP原理
    JSP概念1.概念:Java Server Pages:java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写JS......
  • vuejs从入门到精通——Vue语法——绑定事件监听器(v-on)
    绑定事件监听器(v-on)事件系统是前端开发非常重要的内容,vue对其进行了封装和扩展,使用起来更加的方便。vue官网对其指令介绍:https://cn.vuejs.org/api/built-in-directiv......
  • vuejs从入门到精通——Vue语法——Class 与 Style 绑定(绑定内联样式)
    Class与Style绑定(绑定内联样式)一、绑定对象:style支持绑定JavaScript对象值,对应的是HTML元素的style属性:template:constactiveColor=ref('red')constfontS......
  • 常见的JS加密解密
    一种常见的JavaScript解密案例是使用JavaScript的​​eval()​​函数来解密已经加密的代码。例如,一段加密的代码可能看起来像这样:scssCopycodevarencrypted="eval(f......