已知时间
var arr = [
{ startTime: '1', endTime: '8' },
{ startTime: '6', endTime: '9' },
{ startTime: '8', endTime: '12' },
{ startTime: '12', endTime: '20' },
{ startTime: '20', endTime: '22' },
];
因为 arr[0]
和 arr[1]
,arr[1]
和 arr[2]
有交集所以需要把 arr[0]
、arr[1]
、arr[2]
拎出来,这种有什么好的方法吗
先按照开始时间排一下序,然后便利判断,如果当前的 startTime 小于前一个的 endTime ,就认为有交叉了,然后把前一个和当前元素都加到 Set 里面,最后转成数组。