7.5.2 - Arrays
🧠 Nível 3: Domine os Arrays como um verdadeiro(a) Dev Ninja! 🥷
🧠 Nível 3: Domine os Arrays como um verdadeiro(a) Dev Ninja! 🥷
Chegou a hora de explorar os segredos mais profundos dos arrays em JavaScript. Vamos falar sobre objetos, algoritmos, tipo de referência, e muito mais — tudo com exemplos simples e linguagem clara. Bora virar mestre nisso? 😎
🧑🤝🧑 Arrays e Objetos: primos de primeiro grau!
No JavaScript, tanto arrays quanto objetos são estruturas de dados super importantes.
Arrays: organizam valores em ordem numérica (índices).
Objetos: organizam valores por chave, tipo um dicionário 🗂️.
let frutas = ["maçã", "banana"]; // Array
let pessoa = { nome: "Luan", idade: 20 }; // Objeto➡️ Internamente, arrays são objetos especiais com propriedades numéricas automáticas.
typeof frutas; // "object" 🤯🧷 Por que NÃO alterar arrays diretamente?
Mutação = confusão 😵
Se você muda um array diretamente, pode causar bugs difíceis de entender!
let original = [1, 2, 3];
let copia = original;
copia.push(4);
console.log(original); // [1, 2, 3, 4] 😱💡 Solução: copiar antes de alterar!
Assim você mantém os dados originais intactos, o que é essencial em projetos maiores ou em equipes.
🧪 Como criar (inicializar) arrays?
Existem várias formas de começar um array:
🧬 Arrays são tipo de referência
Se você passar um array pra uma função, e a função alterar esse array… ele muda fora da função também! 😱
➡️ Isso acontece porque arrays são referência na memória, não cópia.
🔁 Iterar (percorrer) um array
Você pode percorrer os valores de um array usando vários jeitos:
📜 for clássico
🧃 for...of
🔁 forEach
🧰 Todos os métodos de array (principais!)
push()
Adiciona no final
pop()
Remove do final
unshift()
Adiciona no começo
shift()
Remove do começo
concat()
Junta dois arrays
slice()
Corta uma parte do array (sem mudar o original)
splice()
Remove ou adiciona itens (altera o array)
map()
Transforma os itens
filter()
Filtra os itens
reduce()
Reduz tudo a um valor
find()
Encontra o primeiro que atende a condição
includes()
Verifica se tem um valor
indexOf()
Mostra o índice de um valor
sort()
Ordena os itens (atenção com números!)
reverse()
Inverte a ordem
join()
Junta tudo numa string
flat()
Achata arrays dentro de arrays
🔄 Conversão entre array e string
➡️ Array → String
➡️ String → Array
🧠 Arrays e algoritmos
Arrays são usados em quase todos os algoritmos clássicos da programação, como:
Busca (procurar algo na lista)
Ordenação (organizar números ou textos)
Filtragem e transformação
Estruturas mais complexas, como pilhas, filas e até matrizes!
Se você dominar arrays, vai mandar bem em desafios de lógica, projetos reais, e até em entrevistas de emprego! 🚀
⚠️ Armadilhas comuns (evite isso!):
Usar for sem condição de parada
Pode causar loop infinito 😬
Modificar arrays dentro de map()
map() deve retornar um novo array, sem alterar o original
Misturar números e strings no mesmo array sem necessidade
Confunde o propósito da lista
Usar sort() em números sem função
Ordena como se fossem strings!
✅ Boas práticas com arrays
Use const se o array não será reatribuído
Prefira métodos imutáveis (como
map,filter) sempre que possívelNomeie o array no plural (ex:
frutas,usuarios)Sempre verifique se é mesmo um array:
Array.isArray(x)
🧠 Extras que valem a pena saber
Array.from()→ transforma quase qualquer coisa em arrayArray.isArray()→ checa se algo é mesmo um arrayArrays podem conter funções, objetos e até outros arrays
flatMap()→ versão turbinada demap+flat
💬 "Quem domina arrays, entende listas, coleções, dados e até o mundo real — afinal, tudo é uma sequência de coisas!" 🧩
Atualizado


