> Как добавить элемент в массив с помощью метода push в JavaScript (JavaScript)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: Яндекс

Стек: JavaScript

> Пример ответа

Короткий ответ

Метод push добавляет один или несколько элементов в конец массива и возвращает новую длину массива. Он мутирует исходный массив, то есть изменяет его напрямую. Синтаксис: arr.push(element1, ..., elementN). Это самый распространённый способ добавления элементов, работает за O(1) в среднем случае.

Подробное объяснение

push - это метод прототипа Array, который принимает произвольное количество аргументов и добавляет их в конец массива в том порядке, в котором они переданы. После выполнения метод возвращает новое значение свойства length массива.

Важно понимать, что push изменяет исходный массив (mutation). Если нужно создать новый массив без изменения исходного, используют concat или spread-оператор.

Метод работает с любыми типами данных: числами, строками, объектами, вложенными массивами. Можно добавлять несколько элементов за один вызов.

На практике

Наиболее частый сценарий - добавление элемента в конец динамического списка, например, при обработке пользовательского ввода или получении данных с сервера. Также часто используют push в циклах для накопления результатов.

Важно помнить, что push возвращает длину, а не сам массив. Это часто используется для проверки успешности операции или для цепочек вызовов.

Пример кода

JAVASCRIPT
// Базовое использование
const fruits = ['apple', 'banana'];
const newLength = fruits.push('orange');
console.log(fruits); // ['apple', 'banana', 'orange']
console.log(newLength); // 3
// Добавление нескольких элементов
const numbers = [1, 2];
numbers.push(3, 4, 5);
console.log(numbers); // [1, 2, 3, 4, 5]
// Добавление разных типов данных
const mixed = [];
mixed.push('string', 42, { key: 'value' }, [1, 2]);
console.log(mixed.length); // 4
// Использование в цикле
const results = [];
for (let i = 0; i < 5; i++) {
results.push(i * 2);
}
console.log(results); // [0, 2, 4, 6, 8]

Как отвечать на собеседовании

Начните с определения метода и его синтаксиса. Обязательно упомяните, что метод мутирует исходный массив и возвращает новую длину. Приведите простой пример. Если спросят про альтернативы, скажите про concat и spread-оператор для иммутабельного подхода. Хорошо показать понимание сложности - в среднем O(1), но в редких случаях может быть O(n) при переполнении динамического массива.

Что проверяет интервьюер

Интервьюер проверяет базовое знание методов массива, понимание мутации vs иммутабельности, знание возвращаемого значения. Также важно, что кандидат понимает разницу между push и unshift (добавление в начало), и когда какой использовать. Может проверить знание edge cases: добавление undefined, пустых значений, вложенных структур.

Типичные ошибки

  • Ожидание, что push возвращает массив, а не длину
  • Забывание о мутации исходного массива
  • Использование push в функциональном стиле с map или filter, где ожидается иммутабельность
  • Путаница с concat, который возвращает новый массив
  • Попытка использовать push для строк - для них есть только конкатенация

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью