js判断两个数值区间是否存在重叠或覆盖


分享一个比较好的判断区间是否重叠的方法

栗子:比如学校排课表的课时,判断同一天是否存在重叠;

数据举例:A课程:开始课时第1节,结束课时第3节,B课程:开始课时第2节,结束课时第4节。

思路:比较开始课时数组的最大值和结束课时数组的最小值,若小于或等于则重叠,反之不重叠,也就是没有交集或包含的情况。

 1 const AStart = 1, AEnd = 3, BStart = 2,  BEnd = 4;
 2 
 3 // 开始课时数组
 4 const maxStart = [AStart, BStart]; 
 5 // 结束课时数组
 6 const minEnd = [AEnd, BEnd];
 7 
 8 if(Math.max(...maxStart)<= Math.min(...minEnd)) {
 9     console.log("重叠了");
10 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM