Сводка
Метод push()
добавляет один или более элементов в конец массива и возвращает новую длину массива.
Синтаксис
arr.push(element1, ..., elementN)
Параметры
elementN
- Элементы, добавляемые в конец массива.
Возвращаемое значение
Новое значение свойства length
объекта, для которого был вызван данный метод.
Описание
Метод push
присоединяет значения к массиву.
Метод push
не является привязанным к типу; этот метод может быть вызван или применён к объектам, напоминающим массив. Метод опирается на свойство length
для определения места вставки значений. Если свойство length
не может быть преобразовано в число, будет использовать индекс 0. Сюда входит случай несуществования свойства length
, в этом случае оно также будет создано.
Единственными родными массивоподобными объектами являются строки, хотя к ним он не может быть применён, поскольку строки являются неизменяемыми.
Примеры
Пример: добавление элементов в массив
Следующий код создаёт массив sports
, содержащий два элемента, а затем добавляет к нему ещё два элемента. Переменная total
будет содержать новую длину массива.
var sports = ['футбол', 'бейсбол']; var total = sports.push('американский футбол', 'плавание'); console.log(sports); // ['футбол', 'бейсбол', 'американский футбол', 'плавание'] console.log(total); // 4
Пример: слияние двух массивов
В этом примере используется функция apply()
для помещения всех элементов из второго массива в первый.
var vegetables = ['пастернак', 'картошка']; var moreVegs = ['сельдерей', 'свёкла']; // Сливает второй массив с первым // Эквивалентно вызову vegetables.push('сельдерей', 'свёкла'); Array.prototype.push.apply(vegetables, moreVegs); console.log(vegetables); // ['пастернак', 'картошка', 'сельдерей', 'свёкла']
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 3-е издание | Стандарт | Изначальное определение. Реализована в JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) Определение 'Array.prototype.push' в этой спецификации. |
Стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Array.prototype.push' в этой спецификации. |
Стандарт |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | 1.0 | 1.0 (1.7 или ранее) | 5.5 | (Да) | (Да) |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |