Hul*_*991 -2 javascript arrays sorting range overlapping
我有一个带有开始和结束值的时间范围数组。
var timeRanges = [{
start: 120,
end: 140
},{
start: 180,
end: 220
},{
start: 250,
end: 300
}]
Run Code Online (Sandbox Code Playgroud)
需要检查选择的范围是否与时间范围重叠。而且选定的范围应该在 timeRange 间隔之间。(例如:140-180、220-250)
var selected = {
start: 150,
end: 170
}
Run Code Online (Sandbox Code Playgroud)
const overlaps = timeRanges.some( range =>
(range.start < selected.start && range.end > selected.start) ||
(range.start < selected.end && range.end > selected.end) ||
(range.start > selected.start && range.end < selected.end)
);
Run Code Online (Sandbox Code Playgroud)
时间间隔B“重叠”,A如果:
B在开始之后A但在A完成之前开始。B开始前A开始,A开始后结束。所以你可以写一个函数来决定它。
function areOverlapping(A, B) {
if(B.start < A.start) {
return B.finish > A.start;
}
else {
return B.start < A.finish;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5115 次 |
| 最近记录: |