Tradução em progresso.

Descrição

Instâncias de Array herdam de Array.prototype. Como em todos os construtores, você pode mudar o  protótipo desse construtor para modificar todas as instâncias de Array.

Contudo, a adição de métodos não-padronizados ao objeto array pode causar problemas futuros, seja com seu próprio código, ou na adição de novas funcionalidades ao JavaScript.

Um fato pouco conhecido: O próprio Array.prototype é um Array

Array.isArray(Array.prototype); // true

Propriedades

Array.prototype.constructor
Especifica a função que cria um objeto do protótipo.
 
Array.prototype.length
Reflete o número de elementos em um array.

Métodos

Métodos modificadores

Esses métodos modificam o array:

Array.prototype.copyWithin()
Copia uma sequência de elementos do array dentro do array.
Array.prototype.fill()
Preenche todos os elementos de um array com um elemento estático, começando de um índice inicial até um índice final.
Array.prototype.pop()
Remove e retorna o último elemento de um array.
Array.prototype.push()
Adiciona um ou mais elementos ao fim de um array e retorna o novo comprimeiro do array.
Array.prototype.reverse()
Reverte a ordem dos elementos de um array - o primeiro vira o último e o último vira o primeiro.
Array.prototype.shift()
Remove o primeiro elemento de um array e o retorna.
Array.prototype.sort()
Ordena os elementos do array em questão e retorna o array.
Array.prototype.splice()
Adiciona e/ou remove elementos de um array.
Array.prototype.unshift()
Adiciona um ou mais elementos ao início de um array e retorna o novo comprimento do array.

Métodos de acesso

Esses métodos não modificam o array, mas sim retornam alguma representação dele.

Array.prototype.concat()
Retorna um novo array formado por esse array concatenado com outro(s) array(s) e/ou valores.
Array.prototype.contains()
Verifica se o array possui cer, retornandotrue ou false apropriadamente.
Array.prototype.join()
Retorna uma string com todos os elementos do array
Array.prototype.slice()
Retorna um novo array com uma parte do array sobre o qual o método foi chamado
Array.prototype.toSource()
Retorna um array literal representando o array especificado; você pode usar esse valor para criar um novo array. Esse método sobrescreve o método Object.prototype.toSource().
Array.prototype.toString()
Retonar uma string representando o array e seus elementos. Esse método sobrescreve o método Object.prototype.toString().
Array.prototype.toLocaleString()
Retonar uma string adequada ao idioma do usuário representando o array e seus elementos. Esse método sobrescreve o método Object.prototype.toLocaleString().
Array.prototype.indexOf()
Representa o índice da primeira ocorrência de um valor especificado no array, ou -1 se o valor não estiver incluso no array.
Array.prototype.lastIndexOf()
Representa o índice da última ocorrência de um valor especificado no array, ou -1 se o valor não estiver incluso no array

Métodos de iteração

Vários métodos tomam como funções de argumento para serem chamados de volta ao processar o array. Quando esses métodos são chamados, o `length` do array é amostrado e qualquer elemento adicionado além deste comprimento (length)  de dentro da função (callback) não é visitado. Outras alterações para o array (Definindo o valor de ou apagando um elemento) pode afetar os resultados da operação se o método visita o elemento alterado posteriormente. Enquanto o comportamento específico destes métodos nestes casos é bem definido, não se deve confiar nisso para não confundir os outros que possoam ler seu código. Em vez disso, deve-se copiar para um novo array para modificá-lo.

Array.prototype.forEach()
Chama a função para cada elemento no array.
Array.prototype.entries()
Retorna um novo objeto Array Iterator que contem o par chave/valor para cada índice no array.
Array.prototype.every()
Retorna true se todos elementos no array satisfizer a função de teste fornecida.
Array.prototype.some()
Retorna true se pelo menos um elemento no array satisfizer a função de teste fornecida.
Array.prototype.filter()
Cria um novo array com todos os elementos do array para qual a função de filtragem fornecida retorne true.
Array.prototype.find()
Retorna o valor encontrado no array, se um elemento no array satisfizer a funçào de teste fornecida ou  `undefined` se não for encontrado.
Array.prototype.findIndex()
Retorna o índice no array, se um elemento no array satisfizer a função de teste fornecida ou -1 se não for encontrado.
Array.prototype.keys()
Retorna um novo Array Iterator que contem a chave para cada índice no array.
Array.prototype.map()
Cria um novo array com os resultados da função fornecida chamada em cada elemento na array.
Array.prototype.reduce()
Aplica uma função contra um acumulador e cada valor do array (da esquerda para direita) para reduzi-los a um único valor.
Array.prototype.reduceRight()
Aplica uma função contra um acumulador e cada valor do array (da direita para esquerda) para reduzi-los a um único valor.
Array.prototype.values()
Retorna um novo objeto Array Iterator que contem os valores de cada índice no array.
Array.prototype[@@iterator]()
Retorna um novo objeto Array Iterator que contem os valores de cada índice no array.

Métodos genéricos

Vários métodos do objeto Array em Javascript foram feitos para serem aplicados genericamentes em todos os objetos que "pareçam" Arrays. Isso é, eles podem ser usados em qualquer objeto que possuam uma propriedade length (comprimento), e que possa ser usado a partir de propriedades numéricas (como índices no formato array[5]). Alguns métodos, como join, apenas lêem e as propriedades numéricas do objeto sobre o qual eles sãochamados. Outros, como reverse, exigem que as propriedades numéricas e length sejam mutáveis; sendo assim, esses métodos não podem ser chamados em objetos como String, que não permitem que nenhuma das duas propriedades sejam modificadas.

Especifiações

Especificação Situação Comentário
ECMAScript 1st Edition. Padrão Definição inicial
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype' in that specification.
Padrão  

Compatibilidade com Navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar!
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

Última atualização por: medeirosmarcus,