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()
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()
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()
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 ===
=
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!
Crie um array com notas de 5 alunos.
Filtre apenas os alunos que passaram com nota ≥ 7.
Transforme as notas em uma mensagem:
"Parabéns! Você tirou X"
usandomap
.
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