需要算法或解决方案来检查多个范围之间是否重叠!这个范围可以是动态的。例如:
//动态范围
var a = [ [1, 2], [3, 4], [2, 3], [5, 6] ];
所以,在上面给出的数组中,第一个数组值为"0";a";有1和2作为值,这里,2出现在第三个数组值[2,3]中,所以这应该给出false,依此类推…
首选语言:Javascript
任何帮助都将不胜感激!
您可以只使用双some
方法,然后使用这些开始和结束间隔来检查重叠。
const arr = [[1, 2], [3, 4], [2, 3], [5, 6]];
const overlap = arr.some(([sA, eA], i) => {
return arr.slice(i + 1).some(([sB, eB]) => {
return sB >= sA && sB <= eA || eB >= sA && eB <= eA ||
sA >= sB && sA <= eB || eA >= sB && eA <= eB
})
})
console.log(overlap)