Почему цикл переводит значение переменной в другую переменную, которая была приравнена к той, которую цикл должен только изменить?
let arrr = [1,1,1,1,1];
let preArrr = [0,0,0,0,0];
preArrr = arrr;
for (let i=0; i < arrr.length; i++) arrr[i] = i;
console.log(arrr, preArrr) // arrr = [0,1,2,3,4], preArrr = [0,1,2,3,4]
цикл forEach дает мне тот же результат
arrr.forEach(function(e, i) { arrr[i] = i })
console.log(arrr, preArrr) // arrr = [0,1,2,3,4], preArrr = [0,1,2,3,4]
, но если яизменить массив мгновенно, он не будет подключаться
let arrr = [1,1,1,1,1];
let preArrr = [0,0,0,0,0];
preArrr = arrr;
arrr = [0,1,2,3,4]
console.log(arrr, preArrr) // arrr1 = [0,1,2,3,4], preArrr1 = [1,1,1,1,1];
так, как избежать этого подключения, но все еще использовать цикл?Я пытаюсь сохранить предыдущее состояние массива