Чтобы создать копию массива без простого присвоения ссылки, вы можете использовать следующие методы:
- Оператор среза. Вы можете использовать оператор среза для создания поверхностной копии массива. Он работает путем указания начального и конечного индексов массива и возвращает новый массив, содержащий скопированные элементы.
var copyArray = originalArray.slice();
- Оператор расширения. Оператор расширения позволяет разложить массив на отдельные элементы. Используя его в литерале массива, вы можете создать новый массив с теми же элементами, что и исходный.
var copyArray = [...originalArray];
- Array.from(): метод Array.from() создает новый экземпляр массива из объекта, подобного массиву или итерируемого. Его можно использовать для создания копии существующего массива.
var copyArray = Array.from(originalArray);
- Объединение. Вы можете объединить пустой массив с исходным массивом, чтобы создать новый массив, содержащий те же элементы.
var copyArray = [].concat(originalArray);
- Array.map(): метод map() создает новый массив, применяя функцию к каждому элементу исходного массива. Передавая функцию идентификации (т. е. функцию, которая возвращает свой аргумент), вы можете эффективно создать копию массива.
var copyArray = originalArray.map(function(element) {
return element;
});