Копирование массивов
В javascript нельзя скопировать массив просто присвоив переменную с массивом другой переменной, т.к. в результате мы получим две переменные, ссылающиеся на один и тот же массив. При изменении одной переменной будет изменяться и значение другой, т.к. обе ссылаются на одно и тоже место в памяти.
// две переменные ссылаются на один массив
var a = ["one", "two"];
var b = a;
b.pop();
console.log(a); //["one"]
console.log(b); //["one"]
Копировать массивы один в другой можно следующим образом
1. способ
var copyArray = oldArray.slice();
// slice возвращает массив значений начиная с указанного индекса.
// без аргументов с 0-индекса
2. способ
var copyArray = [].concat(oldArray);
// создаем пустой массив и объединяем со старым.
// или так
var copyArray = oldArray.concat();