Desenvolvedor de Software e Especialista em Tecnologia da Informação

Unshift e Shift em JavaScript: Mexendo no Início do Array

Se push e pop mexem no final do array, unshift e shift fazem exatamente a mesma coisa, só que no início. Neste artigo você vai ver na prática como o unshift() adiciona um novo item logo na primeira posição do array, empurrando todos os outros itens uma posição para frente, e como o shift() remove exatamente esse primeiro item. Uma habilidade essencial para manipular listas em JavaScript.


POV: Você mexeu no início do array e bagunçou tudo 😂📦

Usando a mesma estrutura de animais do vídeo de push e pop, adicionamos "raposa" no início do array com unshift(), confirmando no console que ela passou a ocupar a posição zero. Em seguida, usamos shift() para remover essa mesma raposa, e o array volta a ter só os itens originais, na ordem de sempre.

Unshift e Shift em JavaScript: Mexendo no Início do Array

Unshift JavaScript Shift JavaScript Métodos de Array Array JavaScript Manipulação de Arrays JavaScript para Iniciantes Filas JavaScript Programador Iniciante RogerioPontesTI

"A gente vai pegar essa estrutura aqui e vamos agora fazer o inverso. Vamos colocar no início. A gente já sabe como é que tá a matriz aqui. Pra gente colocar no início, a gente vai utilizar o unshift. Depois no final da fila, ele vai remover a raposa aqui da nossa do nosso array. Dois métodos, um início, e o controle total sobre a primeira posição."


📦 O que são unshift() e shift() em JavaScript?

unshift() e shift() são métodos que manipulam o início de um array em JavaScript. Enquanto push e pop trabalham no final, unshift e shift operam na primeira posição .

unshift() — Adicionar ao início
O método unshift() adiciona um ou mais elementos ao início de um array e retorna o novo comprimento . Ele desloca todos os elementos existentes para índices maiores .
shift() — Remover do início
O método shift() remove o primeiro elemento de um array e retorna esse elemento . Ele desloca todos os elementos restantes para índices menores .
UNSHIFT E SHIFT EM AÇÃO

// Declarando um array
let animais = ["cachorro", "gato", "pássaro"];
console.log(animais); // ["cachorro", "gato", "pássaro"]

// Adicionando no início com unshift
animais.unshift("raposa");
console.log(animais); // ["raposa", "cachorro", "gato", "pássaro"]

// Removendo do início com shift
let primeiro = animais.shift();
console.log(primeiro); // "raposa"
console.log(animais); // ["cachorro", "gato", "pássaro"]
        

🔄 O efeito de deslocamento em unshift e shift

Diferente de push e pop que operam no final sem afetar a posição dos outros elementos, unshift e shift precisam reorganizar todos os elementos do array .

DESLOCAMENTO DE ELEMENTOS

let numeros = [10, 20, 30, 40];

// Antes: [10, 20, 30, 40]
// Índices:  0   1   2   3

// Usando unshift(5)
numeros.unshift(5);
// Depois: [5, 10, 20, 30, 40]
// Índices: 0   1   2   3   4
// Todos os elementos foram deslocados!

// Usando shift()
let removido = numeros.shift();
// Depois: [10, 20, 30, 40]
// Índices:  0   1   2   3
// Todos os elementos foram deslocados novamente!
        

🚶 O padrão FIFO: shift e push como uma fila

A combinação de push() (adicionar ao final) e shift() (remover do início) cria o comportamento de uma fila (queue) — uma estrutura de dados que segue o princípio FIFO (First In, First Out) .

FILA (QUEUE) COM PUSH E SHIFT

// Simulando uma fila
let fila = [];

// Adicionando elementos ao final (entrando na fila)
fila.push("cliente1");
fila.push("cliente2");
fila.push("cliente3");

console.log(fila); // ["cliente1", "cliente2", "cliente3"]

// Removendo do início (atendendo o primeiro)
let atendido = fila.shift();
console.log(atendido); // "cliente1" (primeiro a entrar, primeiro a sair)
console.log(fila); // ["cliente2", "cliente3"]
        

Performance: unshift/shift vs push/pop

Uma diferença importante entre esses métodos é a performance . Enquanto push e pop são rápidos (O(1)), unshift e shift são mais lentos (O(n)) porque precisam reindexar todos os elementos .

📖 Complexidade dos métodos
  • push/pop — O(1) (constante) — rápidos
  • unshift/shift — O(n) (linear) — mais lentos para grandes arrays
  • Prefira push/pop quando a performance for crítica
  • Use unshift/shift quando a lógica do seu programa exigir manipulação no início

📚 Exemplos práticos de unshift e shift

1. Histórico de navegação

EXEMPLO 1

let historico = [];

// Adicionando páginas visitadas
historico.push("página1");
historico.push("página2");
historico.unshift("página inicial");

console.log(historico); // ["página inicial", "página1", "página2"]

// Voltando para a página anterior
let ultima = historico.pop();
console.log("Voltando de: " + ultima);
        

2. Processamento de tarefas urgentes

EXEMPLO 2

let tarefas = ["tarefa normal 1", "tarefa normal 2"];

// Adicionando uma tarefa urgente no início
tarefas.unshift("tarefa URGENTE!");

console.log(tarefas); // ["tarefa URGENTE!", "tarefa normal 1", "tarefa normal 2"]

// Processando a tarefa mais urgente primeiro
let proxima = tarefas.shift();
console.log("Processando: " + proxima);
        

⏱️ Capítulos do vídeo

  • 00:00Introdução: O conceito de inverter a lógica para mexer no início do array
  • 00:09 — Utilizando o método .unshift() para adicionar o elemento "raposa" ao começo
  • 00:14 — Verificação no console: O item adicionado com sucesso ao início da matriz
  • 00:23 — Utilizando o método .shift() para remover o primeiro elemento da fila
  • 00:27Encerramento e convite para inscrição no canal

🎯 Conclusão

Unshift e shift completam o conjunto de métodos para manipular arrays em JavaScript . Enquanto push e pop cuidam do final, unshift e shift cuidam do início .

Neste artigo, você aprendeu:

  • ✅ Como usar o método unshift() para adicionar no início do array
  • ✅ Como usar o método shift() para remover do início do array
  • ✅ Como confirmar as alterações no array usando o console
  • ✅ Como unshift e shift afetam a posição dos outros itens
  • ✅ Como unshift/shift se comparam com push/pop
  • ✅ Onde unshift e shift costumam ser usados na prática

💡 Lembre-se: Unshift e shift são mais lentos que push e pop porque precisam reorganizar todos os elementos. Use-os com sabedoria em arrays grandes .


🤔 O que você achou?

💬 Quer aprender JavaScript do ZERO? Comece agora a escrever seu primeiro código e seus fundamentos!


❓ FAQ: Perguntas Frequentes sobre Unshift e Shift em JavaScript

Adiciona um novo item no início de um array, deslocando todos os outros elementos uma posição para frente .

Remove e retorna o primeiro item de um array, deslocando todos os outros elementos uma posição para trás .

Sim, ambos modificam diretamente o array, sem criar uma cópia .

Todos são deslocados uma posição para frente no array, pois o novo item ocupa o índice 0 .

Não, ele sempre remove o primeiro item, independente da posição ou conteúdo .

unshift e shift trabalham no início do array; push e pop trabalham no final .

Sim, geralmente, porque precisam reindexar todos os itens do array .

Ele retorna undefined, sem gerar erro .

Sim, funcionam com números, textos, objetos e qualquer outro valor .

Sim, juntos eles cobrem a manipulação básica de qualquer array em JavaScript .

Sim, unshift aceita múltiplos argumentos e os adiciona em ordem ao início do array .

É o padrão 'Primeiro a entrar, primeiro a sair' (First In, First Out), que é o comportamento de uma fila usando push e shift .

🎬 Assista ao Vídeos completo sobre Refatoração

O vídeo foi feito em Javascript mais o conceito pode ser utilizado em qualquer outra linguagem de programação..

🎬 Assista ao Vídeos completo sobre Refatoração


🔗 Conecte-se Comigo


💬 Você prefere mexer no início ou no final de um array no seu dia a dia? Você sabia que unshift e shift são mais lentos que push e pop? Escreve aqui nos comentários! 👇

#JavaScript #Unshift #Shift #Array #JavaScriptParaIniciantes #LogicaDeProgramacao #RogerioPontesTI