Arrays JavaScript: dados ordenados com índice
Um array em JavaScript armazena uma coleção ordenada de valores indexados por inteiros. Use arrays quando a sequência importa: listas, filas ou qualquer dado em que a posição tenha significado. O acesso por índice é instantâneo (O(1)) independentemente do tamanho do array, e length acompanha o tamanho automaticamente.
Exemplo de Array em JavaScript para criar e acessar dados
Saída:
A saída aparecerá aqui...
Saída:
vermelho
3
[
"vermelho",
"verde",
"azul",
"amarelo"
]
Como este exemplo funciona
["vermelho", "verde", "azul"]cria um array com três elementos usando sintaxe literal com colchetes, a forma padrão de definir um array em JavaScript com valores iniciais.cores[0]lê o primeiro elemento. Arrays usam indexação baseada em zero: o índice0é o primeiro elemento,1é o segundo e assim por diante.cores.lengthretorna o número de elementos. Ele é atualizado automaticamente conforme itens são adicionados ou removidos.cores.push("amarelo")acrescenta um elemento ao final. O array original é modificado no próprio lugar.
O que é um array em JavaScript?
Arrays em JavaScript são objetos otimizados para índices numéricos: a propriedade length é atualizada automaticamente quando você adiciona ou remove elementos, e métodos nativos como map, filter, reduce e forEach iteram na ordem dos índices. Use Array.isArray(value) para detectar um array com confiabilidade, já que typeof [] retorna "object".
Erros comuns com arrays JavaScript
Usar new Array(n) para criar um array de um elemento.
Errado:
const itens = new Array(3); // 3 slots vazios, não [3]
Certo:
const itens = [3]; // array contendo o número 3
Um único argumento numérico define length e cria slots vazios, não um elemento.
Esperar que arrays esparsos iterem por completo.
Errado:
const a = Array(3).map((_, i) => i); // [vazio × 3]
Certo:
const a = Array.from({ length: 3 }, (_, i) => i); // [0, 1, 2]
map ignora slots vazios. Array.from cria elementos definidos, então o callback roda para cada índice.
Métodos de array que mutam vs que não mutam
| Muta o original | Retorna novo array |
|---|---|
push, pop, splice, sort, reverse | map, filter, slice, concat, toSorted |
O ES2023 adicionou toReversed(), toSorted(), toSpliced() e with(), versões não mutáveis de métodos que antes operavam no próprio array. Se você precisa do original e da ordem ordenada, prefira toSorted() em vez de sort().
Considerações de desempenho
push e pop operam no fim do array em O(1). shift e unshift reindexam todos os elementos, então são O(n). Em loops críticos, evite operações no início em arrays grandes.
Mais exemplos
Array de arrays: acessar dados aninhados:
const matriz = [[1, 2], [3, 4], [5, 6]];
console.log(matriz[1][0]); // 3
Cada elemento é, por si só, um array. Um array de arrays em JavaScript é uma forma simples de modelar uma grade, e a indexação dupla [linha][coluna] alcança valores internos.
Pilha com push e pop:
const pilha = [10, 20, 30];
pilha.push(40);
console.log(pilha.at(-1)); // 40
pilha.pop();
console.log(pilha); // [ 10, 20, 30 ]
push adiciona no fim, pop remove do fim, ambos em O(1). at(-1) lê o último elemento sem precisar conhecer o comprimento.
Quando usar arrays em JavaScript
- Coleções ordenadas em que o acesso por posição importa (listas, filas, pilhas).
- Qualquer sequência que precisa crescer ou encolher:
push/poppara pilha,push/shiftpara fila. - Dados agrupados modelados como array de arrays (linhas, colunas, matriz).
- Não use arrays para busca por chave-valor; use
Mapou objeto simples. - Não use arrays quando todo elemento precisa ser único; use
Set.
FAQ
Como criar um array em JavaScript com valores iniciais?
Use notação com colchetes: const cores = ["vermelho", "verde", "azul"]. Essa é a sintaxe literal preferida. Array.of(1, 2, 3) também funciona, mas raramente é necessário fora de código polimórfico em que new Array(n) seria ambíguo.
Quais métodos de array em JavaScript mutam o array original?
push, pop, shift, unshift, splice, sort, reverse e fill modificam o array no próprio lugar. Alternativas modernas como toSorted, toReversed e toSpliced (ES2023) retornam novos arrays sem tocar no original.
Como verificar se um valor é um array em JavaScript?
Chame Array.isArray(value). Isso funciona entre iframes e realms, ao contrário de instanceof Array, que falha quando o array foi criado em outro contexto de execução.