Tradução em progresso.

Sumário

O método shift()remove o primeiro elemento de um array e retorna esse elemento. Este método muda o tamanho do array. 

Sintaxe

arr.shift()

Valor de retorno

O elemento removido do array; undefined se o array estiver vazio.

Descrição

O método shift remove o elemento de índice zero, diminui em 1 os indices dos demais valores e retorna o valor removido. Se a propriedade length for 0, então undefined é retornado.

shift é intencionalmente genérico; esse método pode ser chamado ou aplicado para objetos parecidos com arrays. Objetos que não contém a propriedade length representando o tamanho de uma série consecutiva, começando em zero, podem não se comportar de maneira correta.

Exemplos

Removendo um elemento de array

O código a seguir mostra o array minhaLista antes e depois de remover seu primeiro elemento. Ele também mostra o elemento removido.

var minhaLista = ['anjo', 'casa', 'mandarim', 'medico'];

console.log('minhaLista antes: ' + minhaLista);

var shifted = minhaLista.shift();

console.log('minhaLista depois: ' + minhaLista);
console.log('Elemento removido: ' + shifted);

O exemplo mostra o seguinte:

minhaLista antes: ['anjo','casa','mandarim','medico']
minhaLista depois: ['casa','mandarim','medico']

Elemento removido: anjo

 

Usando o método shift() dentro de um loop de while

O médodo shift() é frequentemente usado como condição dentro de um loop de while. No exemplo a seguir, cada iteração removerá o elemento seguinte do array, até que ele esteja vazio:

var nomes = ["André", "Eduardo", "Paulo", "Cris", "João"];
while( (i = nomes.shift()) !== undefined ) {
    console.log(i);
}
// André Eduardo Paulo Cris João

 

 

Especificações

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

Compatibilidade de Browser

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!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Feature 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: mdnwebdocs-bot,