code: function parseDisabledArr(arr) {
    let min;
    let max;
    let arrNew = cloneDeep(arr);
    arrNew = arrNew.map((item) => {
      const { start, end } = item;
      if (!start && !end) {
        const dateTime = new Date(item).getTime();
        if (dateTime) {
          return {
            start: dateTime,
            end: dateTime,
          };
        }
        return false;
      }
      return {
        start: new Date(start).getTime(),
        end: new Date(end).getTime(),
      };
    });
    let newArr = arrNew.filter(item => !!item);
    // 求时间并集并求出 最大值和最小值
    newArr = newArr.filter((item) => {
      const { start, end } = item;
      if (start && !end) { // 求max
        if (!max) {
          max = start;
        } else {
          max = max > start ? start : max;
        }
        return false;
      }
      if (!start && end) {
        if (!min) {
          min = end;
        } else {
          min = min < end ? end : min;
        }
        return false;
      }
      if (end && start) {
        if (start > end) {
          warn('Datetime: Please check your disabledDate props returns');
          return false;
        }
        if (min && min >= start) {
          min = min < end ? end : min;
          return false;
        }
        if (max && max <= end) {
          max = max > start ? start : max;
          return false;
        }
        return true;
      }
      return true;
    });
    let startEnd = [];
    // 时间排序
    startEnd = newArr.sort((a, b) => a.start - b.start);
    return {
      maxTime: max,
      minTime: min,
      startEnd,
    };
  }
docs: 求时间区间的并集
  @param { array } arr