当前位置: 首页 > news >正文

实现一个vue js小算法 选择不同的时间段 不交叉

以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断

//判断时间段是否重叠交叉
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"}]

http://www.lryc.cn/news/371216.html

相关文章:

  • GStreamer安装——iOS
  • 【云计算】Docker部署Nextcloud网盘并实现随地公网远程访问
  • 贪心+构造,CF1153 C. Serval and Parenthesis Sequence
  • 网络安全等级保护基本要求 第1部分:安全通用要求
  • ubuntu22.04防火墙策略
  • selenium的使用教程
  • Centos: ifconfig command not found且ip addr查不到服务器IP
  • WPF学习(2)--类与类的继承2-在窗口的实现
  • Docker面试整理-Docker容器与虚拟机比较,安全性如何?
  • Python私教张大鹏 Vue3整合AntDesignVue之Checkbox 多选框
  • flutter 导出iOS问题3
  • 用winform开发一个笔记本电脑是否在充电的小工具
  • 构建汛期智慧水利新生态:EasyCVR视频汇聚监控综合管理方案解析
  • linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
  • C++中的结构体——结构体案例1_2
  • python接入汇率换算工具提高网站/小程序日活度
  • Ubuntu 网络重置
  • 防护DDoS攻击出现的常见误区
  • 入门 Axure RP 9 | 原型设计基础教程
  • 一线大厂都在高薪抢AI产品经理?
  • html实现粘贴excel数据,在页面表格中复制
  • WPF视频学习-简单应用篇图书馆程序(一)
  • Java+前端+Vue 后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码
  • Mysql查询分析工具Explain的使用
  • OpenCV中的圆形标靶检测——findCirclesGrid()(一)
  • 2025广州眼博会,2025广东省眼睛健康及眼科产业展览会
  • Vue3 自定义渲染器 API createRenderer()(七)
  • 二分+ST表+递推,Cf 1237D - Balanced Playlist
  • 被裁员不可怕,可怕的是你只会写代码!
  • 服务器之间的时间如何保证一致