push() добавляет один или несколько элементов в конец массива.
Это один из самых частых методов для работы с массивами. Важно помнить главное: push() меняет исходный массив.
Синтаксис
array.push(element1)
array.push(element1, element2, ...)
Метод принимает один или несколько элементов и добавляет их в конец массива.
Что делает push()
Если вызвать push(), новые элементы появятся в конце массива:
const numbers = [1, 2];
numbers.push(3);
console.log(numbers); // [1, 2, 3]
Метод работает прямо с исходным массивом, а не создаёт новый.
Добавление одного элемента
const fruits = ["apple", "banana"];
fruits.push("orange");
console.log(fruits); // ["apple", "banana", "orange"]
Это самый обычный сценарий использования push().
Добавление нескольких элементов
За один вызов можно добавить сразу несколько значений:
const numbers = [1, 2];
numbers.push(3, 4, 5);
console.log(numbers); // [1, 2, 3, 4, 5]
Элементы добавляются в том порядке, в котором были переданы.
Что возвращает push()
push() возвращает не массив, а новую длину массива.
const numbers = [10, 20];
const result = numbers.push(30);
console.log(result); // 3
console.log(numbers); // [10, 20, 30]
Это важный момент, потому что его часто путают.
push() меняет исходный массив
После вызова push() сам массив становится другим:
const list = ["a", "b"];
list.push("c");
console.log(list); // ["a", "b", "c"]
Если нужен новый массив без изменения старого, чаще используют spread:
const list = ["a", "b"];
const newList = [...list, "c"];
console.log(list); // ["a", "b"]
console.log(newList); // ["a", "b", "c"]
Когда это полезно
push() удобно использовать, когда:
- нужно добавить элемент в конец массива
- нужно быстро собрать массив по шагам
- изменение исходного массива допустимо
Пример:
const messages = [];
messages.push("Привет");
messages.push("Как дела?");
console.log(messages); // ["Привет", "Как дела?"]
push() и concat()
Оба варианта могут добавить элементы, но работают по-разному.
const numbers = [1, 2];
const result = numbers.concat(3);
console.log(numbers); // [1, 2]
console.log(result); // [1, 2, 3]
concat() не меняет исходный массив, а push() меняет.
Частые ошибки
Думать, что push() возвращает массив
const numbers = [1, 2];
const result = numbers.push(3);
console.log(result); // 3
Здесь result - это новая длина массива, а не [1, 2, 3].
Забывать, что метод меняет массив
const items = ["a", "b"];
items.push("c");
После этого items уже содержит новое значение.
Путать добавление элемента и массива
const numbers = [1, 2];
numbers.push([3, 4]);
console.log(numbers); // [1, 2, [3, 4]]
Если передать массив, он добавится как один элемент.
Быстрая памятка
push()добавляет элементы в конец массива- можно передать один или несколько аргументов
- метод меняет исходный массив
push()возвращает новую длину массива- если нужен новый массив без изменения старого, чаще используют
concat()или spread
Коротко
push() - это стандартный способ добавить элементы в конец массива в JavaScript. Главное, что стоит запомнить: метод изменяет исходный массив и возвращает его новую длину.