Page cover

7.5.1 - Arrays

🚀 Nível 2: Explorando mais sobre Arrays!

🚀 Nível 2: Explorando mais sobre Arrays!

Agora que você já entendeu o básico de arrays, bora dar um passo além? Vamos ver como eles funcionam por dentro, aprender métodos mais avançados, e também evitar armadilhas que confundem muita gente que tá começando! 👀


🧱 Arrays Multidimensionais: Arrays dentro de arrays!

Sim, dá pra ter arrays dentro de arrays! Isso é chamado de array multidimensional. É tipo uma tabela ou uma grade, como num jogo de batalha naval 🧩

let tabuleiro = [
  ["🌊", "🚢", "🌊"],
  ["🌊", "🌊", "🚢"],
  ["🚢", "🌊", "🌊"]
];

console.log(tabuleiro[1][2]); // "🚢"

📌 Dica:

  • tabuleiro[1] pega a segunda linha.

  • tabuleiro[1][2] pega o terceiro item dessa linha.


🧠 Como os arrays funcionam por trás?

Por baixo dos panos, arrays são listas organizadas na memória do computador.

  • Cada item tem um índice, que é como um "endereço".

  • O computador acessa esse item rapidinho usando esse índice.

  • Arrays em JavaScript são dinâmicos: você pode aumentar ou diminuir o tamanho quando quiser, diferente de outras linguagens como C ou Java.


🧪 Métodos avançados que você vai amar

🧹 filter()

Filtra os itens com base numa condição.

let pontuacoes = [10, 5, 8, 3, 9];
let aprovados = pontuacoes.filter(nota => nota >= 7);
console.log(aprovados); // [10, 8, 9]

🔄 map()

Cria um novo array com base em outro.

let nomes = ["ana", "bruno", "carla"];
let nomesMaiusculos = nomes.map(nome => nome.toUpperCase());
console.log(nomesMaiusculos); // ["ANA", "BRUNO", "CARLA"]

🧮 reduce()

Reduz tudo a um único valor (ex: somar).

let valores = [1, 2, 3, 4];
let soma = valores.reduce((total, valor) => total + valor, 0);
console.log(soma); // 10

⚠️ Erros comuns (e como evitar!)

❌ 1. Tentar acessar um índice que não existe

let cores = ["azul", "verde"];
console.log(cores[5]); // undefined 😕

✅ Dica: Sempre verifique se o índice existe com length.


❌ 2. Esquecer que arrays começam em 0

let frutas = ["maçã", "banana", "uva"];
console.log(frutas[1]); // "banana", não "maçã"

❌ 3. Usar = ao invés de == ou ===

// Errado!
if (frutas.length = 0) {
  console.log("Array vazio");
}

Isso atribui 0 em vez de comparar. Use ===.


❌ 4. Alterar arrays sem querer (mutação)

let original = [1, 2, 3];
let copia = original;

copia.push(4);
console.log(original); // [1, 2, 3, 4] 😱

✅ Solução: use o operador spread [...] pra copiar.

let copiaSegura = [...original];

🧑‍💼 Exemplos do mundo real

✅ Boas práticas

// Lista de tarefas com status
let tarefas = [
  { nome: "Estudar JS", feita: true },
  { nome: "Ler livro", feita: false }
];

let feitas = tarefas.filter(tarefa => tarefa.feita);

❌ Más práticas

let lista = [1, 2, 3];
lista.length = 0; // Isso zera o array de forma bruta

Evite manipulações que deixam o código confuso ou perigoso.


🎮 Exemplo divertido: Inventando um placar!

let jogadores = [
  { nome: "Lucas", pontos: 10 },
  { nome: "Maria", pontos: 15 },
  { nome: "João", pontos: 5 }
];

let nomesTop3 = jogadores
  .sort((a, b) => b.pontos - a.pontos)
  .map(j => j.nome);

console.log(nomesTop3); // ["Maria", "Lucas", "João"]

🧑‍🏫 Dicas finais pra mandar bem

  • Use nomes de variáveis claros e descritivos (nada de a1, b2, lista1).

  • Quando tiver arrays muito complexos (com objetos, por exemplo), pense como se fosse uma planilha de Excel: linha por linha, coluna por coluna.


✨ Desafio extra pra praticar!

  1. Crie um array com notas de 5 alunos.

  2. Filtre apenas os alunos que passaram com nota ≥ 7.

  3. Transforme as notas em uma mensagem: "Parabéns! Você tirou X" usando map.

let notas = [6, 8, 5, 9, 7];

// Sua mágica aqui 🧙‍♂️

💬 "Arrays são como mochilas mágicas: você pode guardar quase tudo nelas — só precisa saber como usar cada bolso." 😄

Last updated