Test integer ranges for overlap

CSS

body {
  font: 20px Arial;
  padding: 20px;
}

div {
  color: #999;
}

JavaScript

var arr = [
  ["a", 10, 12], 
  ["b", 20, 25], 
  ["c", 29, 30], 
  ["d", 15, 16], 
  ["e", 195, 196]
];
   

function checkOverlap(arr){
  var overlaps = {}, i, j;
  // match each item against all others BUT itself
  for( i=0; i < arr.length; i++ )
      for( j=0; j < arr.length; j++ )
          if( arr[i] !== arr[j] && arr[i][1] < arr[j][2] && arr[j][1] < arr[i][2] )
            overlaps[arr[i][0]] = 1;
  
  return Object.keys(overlaps);
 }

document.body.innerHTML = "<div>Overlapping elements found:</div>" + checkOverlap(arr);