假设我们有很长的时间范围列表:
var timeRanges = [...] as Array<[Date, Date]>
和时间范围:
var searchTimeRange = [startDate, endDate]
我们必须找到timeRanges
数组中与searchTimeRange
范围相交的元素。
我在考虑使用d3四叉树,但它似乎并不支持矩形作为输入。一般来说,我想避免O(n)。
答案 0 :(得分:1)
答案 1 :(得分:0)
function processTimes = function(time) {
return (time > searchTimeRange[0] && time < searchTimeRange[1])
}
var processedTimes = timeRanges(filter(processTimes))