> Как добавить элемент в массив с помощью метода 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для строк - для них есть только конкатенация
> Похожие задачи по frontend
Что выбрать для анимации: CSS или JavaScript библиотеку и почему
Как реализовать анимацию блока с подпрыгиванием, изменением цвета и улетом за пределы экрана
Как получить ключ элемента в JavaScript
Как добавить новый метод в стандартный объект Array через prototype в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью