JSFiddle - React, Tailwind, and code Playground
JavaScript
var numbers = [
[10, 20],
[19, 40],
[40, 60],
[70, 80],
];
var merge = function(arr) {
// copy and sort the array
var result = arr.slice().sort(function(a, b) {
return a[0] > b[0];
}),
i = 0;
while(i < result.length - 1) {
var current = result[i],
next = result[i+1];
// check if there is an overlapping
if(current[1] >= next[0]) {
current[1] = Math.max(current[1], next[1]);
// remove next
result.splice(i+1, 1);
} else {
// move to next
i++;
}
}
return result;
};
var mergedNumbers = merge(numbers);
console.log('numbers', numbers);
console.log('mergedNumbers', mergedNumbers);