Это происходит из-за того, что переменная last содержит ссылку на последний элемент массива result . В JavaScript массивы - это объекты, а при обращении к элементам массива вы получаете доступ к самим объектам, а не их копиям.
Когда вы выполняете let last = result[result.length - 1] , last теперь указывает на тот же самый объект, что и последний элемент result.
Таким образом, изменение last[1] фактически изменяет значение в result , потому что last и result[result.length - 1] ссылаются на один и тот же объект в памяти.
Это происходит здесь: last[1] = Math.max(last[1], interval[1]) , где обновляется второй элемент последнего интервала в массиве result .