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);