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