Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Array.prototype.shift()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
Sumário
O métodoshift() remove oprimeiro elemento de um array e retorna esse elemento. Este método muda o tamanho do array.
In this article
Experimente
const array1 = [1, 2, 3];const firstElement = array1.shift();console.log(array1);// Expected output: Array [2, 3]console.log(firstElement);// Expected output: 1Sintaxe
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 propriedadelength for 0, entãoundefined é retornado.
shift é intencionalmente genérico; esse método pode serchamado ouaplicado para objetos parecidos com arrays. Objetos que não contém a propriedadelength 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 arrayminhaLista 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);// minhaList antes: ['anjo', 'casa', 'mandarim', 'medico']var shifted = minhaLista.shift();console.log("minhaLista depois: " + minhaLista);// minhaList depois: ['casa', 'mandarim', 'medico']console.log("Elemento removido: " + shifted);// Elemento removido: anjoUsando o método shift() dentro de um loop de while
O médodoshift() é 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ãoEspecificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.shift> |