区间输入相关问题处理

区间输入相关问题处理

适用场景 多个区间之间输入 左边最小值 右边最大值 区间之间是否存在相交 重复问题
一、 界面

在这里插入图片描述

二、 区间一至区间五值相交校验
let arr:object[] = [{min:1,max:2},{min:2,max:4},{min:4,max:7}{min:7,max:9}]

//相交返回true  未相交返回false

// 区间相交校验
const sectionIntersect = (arr: any): boolean => {
  let len: number = arr.length;
  let bol: boolean = false
  for (let i: number = 0; i < len - 1; i++) {
    for (let j: number = i + 1; j < len; j++) {
      if ((arr[i].min !== '' && arr[i].max !== '') && (arr[j].min !== '' && arr[j].max !== '')) {
        if (arr[i].min === arr[j].min && arr[i].max === arr[j].max) {
          let start: any[] = [Math.min(arr[i].min), Math.min(arr[j].min)];
          let end: any[] = [Math.max(arr[i].max), Math.max(arr[j].max)];
          if (Math.max(...start) < Math.min(...end)) {
            bol = true
          }
        }
      }
    }
  }
  return bol
}
三、 区间一至区间五值重复校验

let arr:object[] = [{min:1,max:2},{min:2,max:4},{min:4,max:7}{min:7,max:9}]

//重复返回true  未重复返回false


const equalityCheck = (arr: any): boolean => {
  let bol: boolean = false
  let len: number = arr.length;
  for (let i: number = 0; i < len - 1; i++) {
    for (let j: number = i + 1; j < len; j++) {
      if ((arr[i].min !== '' && arr[i].max !== '') && (arr[j].min !== '' && arr[j].max !== '')) {
        if (arr[i].min === arr[j].min && arr[i].max === arr[j].max) {
          bol = true
        }
      }
    }
  }
  return bol
}
四、 区间一至区间五校验左边是不是最小值 右面是不是最大值
let arr:object[] = [{min:1,max:2},{min:2,max:4},{min:4,max:7}{min:7,max:9}]

//未通过返回true  通过返回false
        
const verificationMaxMin = (val: any, sign: number) => {
  if (String(val.max) !== '' && String(val.min) !== '') {
    if (Number(val.max) > Number(val.min)) {
    return false
    } else {
      return true
      notification.warning({
        message: `左边为最小值右边为最大值`,
      });
    }
  }
}

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...