[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/push [Back]  [Original]

Array.prototype.push() - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Array.prototype.push()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.

Resumo

O mtodo push() adiciona um ou mais elementos ao final de um array e retorna o novo comprimento desse array.

js
var numeros = [1, 2, 3];
numeros.push(4);

console.log(numeros); // [1, 2, 3, 4]

numeros.push(5, 6, 7);

console.log(numeros); // [1, 2, 3, 4, 5, 6, 7]

In this article

Sintaxe

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

Parmetros

elementoN

Os elementos a serem includos ao final do array.

Retorno

O novo valor da propriedade length do objeto no qual o mtodo foi chamado.

Descrio

O mtodo push adiciona valores a um array.

Esse mtodo intencionalmente genrico. Podendo ser utilizado por call() ou apply() em objetos que implementam arrays. O mtodo push depende da propriedade length para determinar onde comear a inserir os valores. Caso a propriedade length no possa ser convertida em nmero, utilizado 0 como ndice. Isto inclui a possibilidade de length no existir, nesse caso, essa propriedade ser criada.

Os nicos objetos que implementam nativamente array so as strings, porm elas no so adequadas para a aplicao desse mtodo, pois so imutveis.

Exemplos

Exemplo: Adicionando elementos a um array

O seguinte cdigo cria um array esportes que contm dois elementos. Ento adiciona dois elementos a ele. A varivel total contm o novo comprimento do array.

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

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

Exemplo: Fuso de dois arrays

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

js
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']

Exemplo: Utilizando um object como um array-like

Como mencionado acima, push intencionalmente genrico, e podemos usar isso para nossa vantagem. Array.prototype.push pode trabalhar em um objeto muito bem, como mostra este exemplo. Observe que no criamos um array para armazenar uma coleo de objetos. Em vez disso, armazenamos a coleo no objeto em si e usamos a chamada em Array.prototype.push para enganar o mtodo e pensar que estamos lidando com um array, e ele simplesmente funciona, graas forma como o JavaScript nos permite estabelecer o contexto de execuo quando queremos.

js
var obj = {
  length: 0,

  addElem: function addElem(elem) {
    // obj.length  automaticamente incrementado
    // toda vez que um elemento for adicionado.
    [].push.call(this, elem);
  },
};

// Vamos adicionar alguns objetos vazios apenas para ilustrar.
obj.addElem({});
obj.addElem({});
console.log(obj.length);
//  2

Observe que, embora obj no seja um array, o mtodo push aumentou com sucesso a propriedade de comprimento (length) do obj como se estivssemos lidando com um array.

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.push

Compatibilidade em navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page