Чтобы скопировать массив, можно воспользоваться функцией concat() объекта Array. Она предназначена для объединения двух массивов, но если мы создадим пустой массив и объеденим его с массивом, который нужно скопировать, то получим требуемую копию массива. Пример:
var arrayToCopy = [ 1, 2, 3, 4, 5 ]; var copyOfArray = [].concat(arrayToCopy);
Для удобства можно создать функцию, которая будет возвращать копию массива:
function copyArray( ar ){
return [].concat( ar );
}
Либо можно добавить функцию copy в класс Array:
Array.prototype.copy =
function() {
return [].concat(this);
};
// пример применения
var aList = [1,2,3,4,5];
var newList = aList.copy();
