Как происходит изменение элемента в массиве?

Как last изменяет элемент в массиве result?
  • 2 января 2024 г. 13:07
Ответы на вопрос 2
Изменение элемента в массиве происходит путем обращения к индексу этого элемента и присваивания ему нового значения. Например:

result[индекс_элемента] = новое_значение

Если переменная last является ссылкой на элемент в массиве result, то изменение last автоматически изменит значение элемента в массиве. В этом случае, простое присваивание нового значения переменной last приведет к изменению элемента в массиве result. Например:

last = новое_значение

Таким образом, после выполнения этой операции элемент в массиве result тоже будет содержать новое значение.
Это происходит из-за того, что переменная 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 .
Похожие вопросы