Folha de consulta de métodos de array do JavaScript
Os métodos de array do JavaScript que você mais usa, com o que cada um retorna e — crucialmente — se muta o array original ou retorna um novo. Acertar essa coluna evita uma classe inteira de bugs: métodos como map e filter são seguros porque deixam o original intacto, enquanto sort, reverse e splice o alteram no lugar.
Atualizado 2026-07-06
| Método | O que faz | Retorna | Muta |
|---|---|---|---|
| map() | Transformar cada elemento | Novo array | Não |
| filter() | Manter os elementos que passam num teste | Novo array | Não |
| reduce() | Reduzir o array a um único valor | Qualquer valor | Não |
| forEach() | Executar uma função para cada elemento | undefined | Não |
| find() | Primeiro elemento que passa num teste | Elemento / undefined | Não |
| findIndex() | Índice da primeira correspondência | Índice / -1 | Não |
| some() | true se ao menos um passar | Booleano | Não |
| every() | true se todos passarem | Booleano | Não |
| includes() | Se um valor está presente | Booleano | Não |
| indexOf() | Índice de um valor | Índice / -1 | Não |
| slice() | Copiar uma parte do array | Novo array | Não |
| concat() | Mesclar arrays em um novo | Novo array | Não |
| join() | Combinar elementos em uma string | String | Não |
| flat() | Achatar arrays aninhados | Novo array | Não |
| flatMap() | map() e depois achatar um nível | Novo array | Não |
| at() | Elemento por índice (aceita negativos) | Elemento | Não |
| push() | Adicionar um ou mais itens ao final | Novo comprimento | Sim |
| pop() | Remover o último item | Item removido | Sim |
| shift() | Remover o primeiro item | Item removido | Sim |
| unshift() | Adicionar itens ao início | Novo comprimento | Sim |
| splice() | Adicionar/remover itens em qualquer índice | Itens removidos | Sim |
| sort() | Ordenar o array no lugar | O array | Sim |
| reverse() | Inverter o array no lugar | O array | Sim |
| fill() | Preencher com um valor estático | O array | Sim |
| Array.from() | Criar um array a partir de um iterável | Novo array | Não |
| Array.isArray() | Verificar se um valor é um array | Booleano | Não |
Dica: quando precisar de uma cópia ordenada sem tocar no original, espalhe primeiro — [...arr].sort(). O JavaScript moderno também adiciona gêmeos não mutantes (toSorted, toReversed, toSpliced, with) que retornam um novo array.