学无先后,达者为师

网站首页 Vue 正文

vue判断数组中时间段无重复区间

作者:阿啦ala 更新时间: 2022-03-05 Vue

原数组是这样的

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则表示没有

原文链接:https://blog.csdn.net/weixin_39152200/article/details/108341811

栏目分类
最近更新