Array.prototype.push()

Resumo

O método push() adiciona um ou mais elementos ao final de um array e retorna o comprimento desse array.

Sintaxe

arr.push(elemento1, ..., elementoN)

Parâmetros

elementoN
Os elementos a serem incluídos ao final do array.

Retorno

O novo valor da propriedade length do objeto no qual o método foi chamado.

Descrição

O método push adiciona valores a um array.

Esse método é intencionalmente genérico. Podendo ser utilizado por call() ou apply() em objetos que implementam arrays.  O método push depende da propriedade length para determinar onde começar a inserir os valores. Caso a propriedade length não possa ser convertida em número, é utilizado 0 como índice. Isto inclui a possibilidade de length não existir, nesse caso, essa propriedade será criada.

Os únicos objetos que implementam nativamente array são as strings, porém elas não são adequadas para a aplicação desse método, pois são imutáveis.

Exemplos

Exemplo: Adicionando elementos a um array

O seguinte código cria um array esportes que contém dois elementos. Então adiciona dois elementos a ele. A variável total contém o novo comprimento do array.

var esportes = ['futebol', 'beisebol'];
var total = esportes.push('handebol', 'natacao');

console.log(esportes); // ['futebol, 'beisebol', 'handebol', 'natacao']
console.log(total);  // 4

Exemplo: Fusão de dois arrays

Este exemplo utiliza apply() para adicionar todos os elementos de um segundo array.

var vegetais = ['cenoura', 'batata'];
var maisVegetais = ['aipo', 'beterraba'];

// Adiciona o segundo array no primeiro
// Equivalente a vegetais.push('aipo', 'beterraba');
Array.prototype.push.apply(vegetais, maisVegetais);

console.log(vegetais); // ['cenoura', 'batata', 'aipo', 'beterraba']

Especificações

Especificação Estado Comentário
ECMAScript 3ª Edição Padrão Implementação inicial. Implentado no JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.push' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.push' in that specification.
Standard  

Compatibilidade em navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Característica Android Chrome para Android Firefox Móvel (Gecko) IE Móvel Opera Móvel Safari Móvel
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

Etiquetas: 
 Colaboradores desta página: lucasvarela, marinalimeira, JeanRigotti, solfier
 Última atualização por: lucasvarela,