--- title: Array.prototype.push() slug: Web/JavaScript/Reference/Global_Objects/Array/push tags: - Array - JavaScript - Method - Prototype translation_of: Web/JavaScript/Reference/Global_Objects/Array/push ---
{{JSRef("Global_Objects", "Array")}}

Сводка

Метод push() добавляет один или более элементов в конец массива и возвращает новую длину массива.

Синтаксис

arr.push(element1, ..., elementN)

Параметры

elementN
Элементы, добавляемые в конец массива.

Возвращаемое значение

Новое значение свойства {{jsxref("Array.length", "length")}} объекта, для которого был вызван данный метод.

Описание

Метод push присоединяет значения к массиву.

Метод push не является привязанным к типу; этот метод может быть {{jsxref("Function.call", "вызван", "", 1)}} или {{jsxref("Function.apply", "применён", "", 1)}} к объектам, напоминающим массив. Метод опирается на свойство length для определения места вставки значений. Если свойство length не может быть преобразовано в число, будет использовать индекс 0. Сюда входит случай несуществования свойства length, в этом случае оно также будет создано.

Единственными родными массивоподобными объектами являются {{jsxref("Global_Objects/String", "строки", "", 1)}}, хотя к ним он не может быть применён, поскольку строки являются неизменяемыми.

Примеры

Пример: добавление элементов в массив

Следующий код создаёт массив sports, содержащий два элемента, а затем добавляет к нему ещё два элемента. Переменная total будет содержать новую длину массива.

var sports = ['футбол', 'бейсбол'];
var total = sports.push('американский футбол', 'плавание');

console.log(sports); // ['футбол', 'бейсбол', 'американский футбол', 'плавание']
console.log(total);  // 4

Пример: слияние двух массивов

В этом примере используется функция {{jsxref("Function.apply", "apply()")}} для помещения всех элементов из второго массива в первый.

var vegetables = ['пастернак', 'картошка'];
var moreVegs = ['сельдерей', 'свёкла'];

// Сливает второй массив с первым
// Эквивалентно вызову vegetables.push('сельдерей', 'свёкла');
Array.prototype.push.apply(vegetables, moreVegs);

console.log(vegetables); // ['пастернак', 'картошка', 'сельдерей', 'свёкла']

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание Стандарт Изначальное определение. Реализована в JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}} {{Spec2('ES6')}}

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

{{Compat("javascript.builtins.Array.push")}}

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