Array.prototype
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, retornando
true
oufalse
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
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) |