Вебсправочник
Справочник JavaScript

push(): добавить элементы в конец массива

Push добавляет один или несколько элементов в конец существующего массива. Метод изменяет исходный объект и возвращает новую длину, а не новый массив.

Назначение

Push добавляет один или несколько элементов в конец существующего массива. Метод изменяет исходный объект и возвращает новую длину, а не новый массив.

Как это работает

Аргументы добавляются в указанном порядке. Объявление массива через const не запрещает изменение его содержимого. Если нужно сохранить исходный набор, создайте новую коллекцию отдельно.

Пример

const lessons = ["HTML"];
const length = lessons.push("CSS", "JavaScript");
console.assert(length === 3);
console.assert(lessons.join("|") === "HTML|CSS|JavaScript");
const snapshot = [...lessons, "HTTP"];
console.assert(lessons.length === 3 && snapshot.length === 4);
console.log(length, lessons);

Что должно получиться

Исходный массив получает два элемента, результат вызова равен числу 3. Созданный через spread snapshot добавляет элемент в новую коллекцию и не увеличивает старую.

Граница применения и частая ошибка

Ошибка lessons = lessons.push(…) подменяет массив числом, если переменная допускает присваивание. Большой массив не стоит без ограничений разворачивать в аргументы одного вызова: у среды есть ограничения. Вложенные объекты не копируются глубоко при spread.

Самостоятельная проверка

Добавьте объект урока и измените его после push, наблюдая общую ссылку. Затем сравните мутацию и создание нового массива. Запишите, требуется ли вашему компоненту сохранить прежнюю версию данных.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.