js判断两个区间是否存在交集

思路:两个区间,两者的最小值中的最大值 <= 两者最大值的最小值时 就存在交集

let arr1 = [1,4];
let arr2 = [2,5];
let arr3 = [5,2];
let arr4 = [4,5];
let arr5 = [9,5];
let arr6 = [1,4];
let arr7 = [5,6];
let arr8 = [5,5];
// 判断两个区间是否相交
function isIntersect(arr1,arr2){
    let start = [Math.min(...arr1),Math.min(...arr2)];//区间的两个最小值
    let end = [Math.max(...arr1),Math.max(...arr2)];//区间的两个最大值
    return Math.max(...start) <= Math.min(...end);//最大值里的最小值 是否 小于等于 最大值的最小值
}
// 验证
console.log(isIntersect(arr1,arr2));//true
console.log(isIntersect(arr1,arr3));//true
console.log(isIntersect(arr1,arr4));//true
console.log(isIntersect(arr1,arr5));//false
console.log(isIntersect(arr1,arr6));//true
console.log(isIntersect(arr1,arr7));//false
console.log(isIntersect(arr1,arr8));//false
// 补充
console.log(Math.max(1,2,3,3,3));//3
console.log(Math.min(1,1,2,3,3,3));//1

 

 

 

js判断两个区间是否存在交集

上一篇:oracle 对两个结果级进行并集和差集操作


下一篇:使用VUE+element-ui & 阿里云OSS 完成图片/文件的上传与使用