Array.prototype.push()

Сводка

Метод 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' в этой спецификации.
Стандарт

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
pushChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100

Легенда

Полная поддержка  
Полная поддержка

Смотрите также