1
var insert = function (intervals, newInterval) {3
if (intervals.length === 0) {6
//Find the index to insert newIntervals8
while (current < intervals.length && intervals[current][0] < newInterval[0]) {11
intervals.splice(current, 0, newInterval);12
//If newInterval is not the last index, check the element behigh newInterval to see if merge is needed13
if (current !== intervals.length - 1) {14
let pointer = current + 1;15
if (intervals[pointer][0] <= newInterval[1]) {17
pointer < intervals.length &&18
intervals[pointer][0] <= newInterval[1]22
newInterval[1] = Math.max(newInterval[1], intervals[pointer - 1][1]);23
intervals.splice(current + 1, pointer - (current + 1));26
//If newInterval is not the first index, check the element berfore newInterval to see if merge is needed28
if (intervals[current - 1][1] >= newInterval[0]) {29
newInterval[0] = intervals[current - 1][0];30
newInterval[1] = Math.max(newInterval[1], intervals[current - 1][1]);31
intervals.splice(current - 1, 1);