Métodos de Arrays: Ferramentas de Edição
O que vais aprender nesta aula:
- Adicionar itens ao fim (
push) e ao início (unshift) - Remover do fim (
pop) e do início (shift) - Como funcionam os métodos em JavaScript
🧠 Teoria (com Analogia e Contexto Real)
Um array não é estático. Podemos adicionar e remover itens dinamicamente.
🥞 Analogia da Pilha de Panquecas
Imagina um prato com uma pilha de panquecas:
- push(): Pões uma nova panqueca quente no topo.
- pop(): Tiras (e comes) a panqueca do topo.
Estas operações são muito rápidas e comuns.
Porque é que isto importa? Um "carrinho de compras" é um array. Quando clicas em "adicionar", fazes um push(). Quando removes algo, podes fazer um pop() (se for o último) ou outros métodos que veremos mais à frente.
💻 Prática (Orientada e Progressiva)
Vamos manipular a nossa lista:
Exemplo 1: Adicionar (Push & Unshift)
let equipa = ["Rui", "Ana"];
// Adicionar ao FIM (Recomendado, é rápido)
equipa.push("Carlos"); // ["Rui", "Ana", "Carlos"]
// Adicionar ao INÍCIO (Mais lento, empurra todos)
equipa.unshift("Marta"); // ["Marta", "Rui", "Ana", "Carlos"]
Exemplo 2: Remover (Pop & Shift)
let numeros = [10, 20, 30, 40];
// Remover do FIM e guardar o que saiu
let removido = numeros.pop();
console.log(removido); // 40
console.log(numeros); // [10, 20, 30]
// Remover do INÍCIO
numeros.shift(); // Remove o 10
console.log(numeros); // [20, 30]
push e pop são pares perfeitos. unshift e shift também. Tenta memorizar assim: "Push empurra para dentro, Pop puxa para fora".
✅ Verificação de Conhecimento
1. Qual o método para adicionar um elemento ao final do array?
2. O que retorna o método `pop()`?
3. Qual é mais eficiente (mais rápido) para o computador?
🧩 Desafio Prático
Gestão de Fila de Espera
tens um array vazio chamado fila.
1. Chega a "Ana" (adiciona).
2. Chega o "João" (adiciona).
3. A "Ana" é atendida e sai da fila (remove o primeiro).
Mostra como ficou a fila.
let fila = [];
// Teus comandos aqui...
console.log(fila);
Mostrar Solução
let fila = [];
fila.push("Ana"); // ["Ana"]
fila.push("João"); // ["Ana", "João"] (João ficou atrás da Ana)
fila.shift(); // O primeiro a entrar ("Ana") é o primeiro a sair
console.log(fila); // Saída: ["João"]
📌 Explicação: Isto simula uma estrutura chamada "Queue" (Fila) - FIFA (First In, First Out).