Изменение массива

В этом варианте, если изменяю массив ar_temp(который перед этим уже добавил в a1) через индекс, то в консоли a1 выводит измененный.

let a1 = [1];
let ar_temp = [];
a1.push(ar_temp);
ar_temp[0] = [2, 3];
console.log(a1); // [1, Array(1)]

А в этом случае уже ar_temp внутри a1 не меняется, когда просто присваиваю переменной ar_temp новый массив.

let a1 = [1];
let ar_temp = [];
a1.push(ar_temp);
ar_temp = [2, 3];
console.log(a1); // [1, Array(0)]

Вопрос почему во втором варианте a1 не меняется. Спасибо.


Ответы (1 шт):

Автор решения: Aziz Umarov

Нужно понимать что содержит в себе переменная ar_temp. И понять присваивание к переменной и к элементу массива.

ar_temp[0] = - изменение первого значения массива при этом ar_temp не меняется. ar_temp = изменение переменной.

→ Ссылка