原数组是这样的
this.tableData = [{
"endTime": "2019-12-05 00:00:00",
"startTime": "2019-11-01 00:00:00"
}, {
"endTime": "2020-08-31 11:29:14",
"startTime": "2019-12-01 00:00:00"
}]
需要判断数组中所有元素的startTime和endTime组成的时间段是否存在重复区间
save: function() {
var startTimeArr = []
var endTimeArr = []
this.tableData.map(function(item) {
startTimeArr.push(item.startTime ? new Date(item.startTime).getTime() : '')
endTimeArr.push(item.endTime ? new Date(item.endTime).getTime() : '')
})
var allStartTime = startTimeArr.sort() // 排序
var allEndTime = endTimeArr.sort()
var result = 0 // 判断时间是否有重复区间
for (let k = 0; k < allStartTime.length; k++) {
if (k > 0) {
if (allStartTime[k] <= allEndTime[k - 1]) {
result += 1
}
}
}
return result > 0
}
返回的结果为true表示有重复区间,false则表示没有