SOURCE

var dateAr = [
  {startTime: '10:01', endTime: '12:01'},
  {startTime: '09:10', endTime: '10:00'},
  {startTime: '08:00', endTime: '09:00'},
  {startTime: '12:02', endTime: '13:00'},
];

function Fn() {
  for (let k in dateAr) {
    if (!judege(k)) {
      return false
    }
  }
  return true
}
function judege(idx) {
  for (let k in dateAr) {
    if (idx !== k) {
        if (dateAr[k].startTime <= dateAr[idx].startTime && dateAr[k].endTime > dateAr[idx].startTime){
          return false
        }
        if (dateAr[k].startTime < dateAr[idx].endTime && dateAr[k].endTime >= dateAr[idx].endTime) {
          return false
        }
        if (dateAr[k].startTime == dateAr[idx].endTime ||  dateAr[k].endTime == dateAr[idx].startTime) {
          return false
        }
    }
  }
  return true
}
console.log(Fn())	//true的话表示没有重叠,false表示有重叠
console 命令行工具 X clear

                    
>
console