2 回答

TA貢獻1725條經(jīng)驗 獲得超8個贊
var source = [
{
min: {include: false, value: 10},
max: {include: true, value: 20}
},
...
]
類似這樣的數(shù)據(jù)結(jié)構(gòu),再判斷一下是否重復就行吧。
挨個從source中進行判斷,相當于判斷兩條線段是否重復了。比如兩條線段A、B。如果A.max <(=) B.min || A.min >(=) B.max。則這兩條線就是不重復的。

TA貢獻1790條經(jīng)驗 獲得超9個贊
看了一下是不是可以用一個二維數(shù)組解決:
(function(arr){
for(let i=0;i<arr.length;i++){
if(arr[i][0] > arr[i][1]) return false;
if(arr[i+1] && arr[i][1] > arr[i+1][0]) return false;
}
return true;
})([[1,2],[3,4],[7,9]])
這個函數(shù)執(zhí)行結(jié)果就是根據(jù)是否有重復的區(qū)間,如果有就返回false如果沒有就返回ture。
至于包含不包含,就在于你如何初始化這個二維數(shù)組了。
添加回答
舉報