能接做网站的活的网站,网络推广外包流程,制作网站用什么软件有哪些,电脑店免费建站以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断
//判断时间段是否重叠交叉
export function areIntervalsNonOverlapping(intervals:any) {// 辅助函数#xff1a;将时间字符串转换为从当天午夜开始计算的分钟数function conver… 以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断
//判断时间段是否重叠交叉
export function areIntervalsNonOverlapping(intervals:any) {// 辅助函数将时间字符串转换为从当天午夜开始计算的分钟数function convertToMinutes(timeString:any) {const [hours, minutes, seconds] timeString.split(:).map(Number)return hours * 60 minutes // 忽略秒数如果需要更高精度可以加上 seconds}// 转换时间并排序const sortedIntervals intervals.map(interval ({...interval,beginMinutes: convertToMinutes(interval.polishBeginTime),endMinutes: convertToMinutes(interval.polishEndTime),})).sort((a, b) a.beginMinutes - b.beginMinutes)// 检查重叠for (let i 1; i sortedIntervals.length; i) {const current sortedIntervals[i]const previous sortedIntervals[i - 1]// 处理跨越午夜的情况if (current.beginMinutes previous.endMinutes ||(current.beginMinutes 0 previous.endMinutes 23 * 60)) {return false // 重叠}}return true // 没有重叠
}以上就是这个算法
传入数组 就可以
我的数组格式 是
[
{
//判断时间段是否重叠交叉
polishBeginTime:01:00:00
polishEndTime:02:00:00}]