1. Arrays: coleções de valores
Guardar várias informações relacionadas numa única variável, numa ordem específica.
Um array é uma lista ordenada de valores, guardada numa única variável. Em vez de criares nome1, nome2, nome3 separadamente, guardas todos numa lista:
const frutas = ["maçã", "banana", "pera"];
console.log(frutas); // ["maçã", "banana", "pera"]
console.log(frutas.length); // 3 — o número de elementosAcesso por índice
Cada posição num array tem um índice, e — tal como viste no for na Fase 3 — a contagem começa em 0, não em 1:
console.log(frutas[0]); // "maçã" — primeiro elemento
console.log(frutas[1]); // "banana"
console.log(frutas[2]); // "pera" — último elemento
console.log(frutas[3]); // undefined — não existe, e o JavaScript não avisaEste é o erro mais comum com arrays: tentar aceder a um índice que não existe não dá erro — dá undefined silenciosamente, o que só se torna um bug óbvio várias linhas mais tarde. Sempre que não tiveres a certeza se um índice existe, compara-o com array.length.
Um array declarado com const ainda pode mudar de conteúdo
Isto surpreende muita gente: const frutas = [...] impede-te de reatribuir frutas a um array totalmente novo, mas não impede alterar o seu conteúdo. Podes adicionar, remover ou modificar elementos livremente — porque, tecnicamente, a "caixa" (a variável) continua a apontar para a mesma lista, só o interior dela mudou.
const numeros = [1, 2, 3];
numeros.push(4); // válido! [1, 2, 3, 4]
// numeros = [5, 6]; // inválido — isto sim reatribuiria a variávelPercorrer um array
Combina o que aprendeste na Fase 3: um for que vai de 0 até array.length - 1 visita cada elemento:
for (let i = 0; i < frutas.length; i++) {
console.log(i, "→", frutas[i]);
}Repara porque o limite é array.length e a condição é < (não <=): um array com 3 elementos tem índices 0, 1 e 2 — usar <= tentaria aceder ao índice 3, que não existe.