Learn JavaScript

push() - метод для добавления элементов в конец массива в JavaScript

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. Главное, что стоит запомнить: метод изменяет исходный массив и возвращает его новую длину.