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 é intensionalmente 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 6 (ECMA-262) The definition of 'Array.prototype.push' in that specification. |
Release Candidate |
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) |