当前位置: 首页 > 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"}]

相关文章:

  • 数智化招采平台多层级多租户能力的价值
  • php文件包含
  • three.js 第四节 - 创建顶点(索引的使用)
  • 【CS.PL】Lua 编程之道: 基础语法和数据类型 - 进度16%
  • HBase数据库面试知识点:第一部分 - 基础概念与特点(持续更新中)
  • 电商API接口的采集实例:京东商品详情API接口的采集过程和步骤分析
  • 二叉树的算法题目
  • SolidWorks官方授权代理商亿达四方带您解读最新SW版本特性
  • Java Opencv识别图片上的虫子
  • [汇总] CentOS中查询端口终止进程的指令
  • 启动mysql 3.5时出现 MySql 服务正在启动 . MySql 服务无法启动。
  • tim定时器 输入捕获模式下 TIM–ICStructinit(TIM–ICStructinit) 这个值 解析
  • C++中的结构体——结构体嵌套结构体
  • 全球5G时代,智启未来生活
  • HandyControl的属性编辑器如何绑定自定义控件,并集成到自定义编辑器
  • .pyc 想到的一些问题
  • Docker 笔记(2):Dockerfile
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Effective Java 笔记(一)
  • JavaScript 基本功--面试宝典
  • Java深入 - 深入理解Java集合
  • js正则,这点儿就够用了
  • MySQL主从复制读写分离及奇怪的问题
  • python大佬养成计划----difflib模块
  • vue-cli3搭建项目
  • windows下mongoDB的环境配置
  • 安装python包到指定虚拟环境
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 大数据与云计算学习:数据分析(二)
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 记录一下第一次使用npm
  • 判断客户端类型,Android,iOS,PC
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 跳前端坑前,先看看这个!!
  • 一个JAVA程序员成长之路分享
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 带你开发类似Pokemon Go的AR游戏
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • (1)Hilt的基本概念和使用
  • (floyd+补集) poj 3275
  • (Oracle)SQL优化技巧(一):分页查询
  • (安卓)跳转应用市场APP详情页的方式
  • (八)Flask之app.route装饰器函数的参数
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .CSS-hover 的解释
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET MVC第三章、三种传值方式