判断多区间数组是否重合

我判断的是是否了重叠了3次

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    请输入两个数字用逗号分割:<input type="text" id="sz" />
    <button onclick="tj()">提交</button>
    <script>
      //只能数组里面放数组去比较,数组里面有元素,又比回去了
      //   var szlist = [];
      //   var cdnum = 0;
      a = 0;
      var szlist = [
        [1, 2],
        [1, 3],
        [4, 5],
        [1, 4],
      ];
      function tj() {
        // var sz = document.getElementById("sz").value;
        // console.log(sz);
        // var sz = sz.split(",");
        // szlist.push(sz);
        // console.log(sz);

        for (i = 0; i < szlist.length; i++) {
          //   szlist.push(sz[i]);
          //   console.log(sz[i]);
          minStart1 = szlist[i][0];
          maxEnd1 = szlist[i][1];
          for (let t = 0; t < szlist.length; t++) {
            minStart2 = szlist[t][0];
            maxEnd2 = szlist[t][1];
            // console.log(i);
            // console.log(t);
            if (i !== t) {
              //   console.log(szlist[t]);
              maxStartArr = [minStart1, minStart2]; // 开始课时数组
              minEndArr = [maxEnd1, maxEnd2];
              if (maxStartArr[0] > minEndArr[1] || minEndArr[0] < maxEnd2[2]) {
                console.log("没有重叠");
              } else {
                a = a + 1;
                if (a == 3) {
                  alert("已经重叠了3次");
                }
              }
            }
          }
        }

        console.log(szlist);
      }
      tj();
    </script>
  </body>
</html>

在这里插入图片描述

Guess you like

Origin blog.csdn.net/liulang68/article/details/121296866