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]
💡
Dica Pro: 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?

add()
push()
insert()

2. O que retorna o método `pop()`?

O novo tamanho do array.
O elemento que foi removido.
Nada (undefined).

3. Qual é mais eficiente (mais rápido) para o computador?

Mexer no início do array (shift/unshift).
Mexer no fim do array (push/pop).
É igual.

🧩 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).