Guia rápido de métodos de array em JavaScript (ao vivo)

Guia rápido de métodos de array em JavaScript

Guia rápido de métodos de array em JavaScript (rode cada um ao vivo) | We.Inc

Digite sua própria lista e veja map, filter, reduce, find, sort, splice e mais 30 métodos de array rodando nela, com um destaque claro em cada método que altera o array original.

Os métodos de array se dividem em dois grupos. Alguns alteram o array em que você os chama, como push, pop, splice, sort e reverse. Outros devolvem um novo array ou valor e deixam o original intacto, como map, filter, slice, toSorted e reduce. Edite a lista abaixo e cada método roda de novo com os seus valores.

Tarefas comuns com arrays e o método para cada uma

A maioria dos guias rápidos lista os nomes dos métodos com um exemplo pronto. Aqui os exemplos rodam sobre uma lista que você controla, então dá para ver o que acontece com itens duplicados, uma lista vazia ou um único item. Cada linha tem uma marcação para você saber de relance se o método reescreve seus dados, o que é a origem de muitos bugs de estado no React e em bibliotecas parecidas.

Perguntas frequentes

Como obter o tamanho de um array em JavaScript?

Leia arr.length. É uma propriedade, não um método, então não tem parênteses. O valor é o maior índice mais um, o que equivale à quantidade de itens em arrays normais. Definir arr.length = 0 esvazia o array, e definir um número menor corta itens do final.

Qual é a diferença entre map e forEach?

map cria um novo array com o que sua função retorna para cada item, então você pode atribuí-lo ou encadear mais métodos. forEach só chama sua função e retorna undefined. Use map quando quiser um resultado e forEach apenas para efeitos colaterais, como registrar no console.

Quais métodos de array alteram o array original?

push, pop, shift, unshift, splice, sort, reverse, fill e copyWithin alteram o array no lugar. Definir length ou um índice diretamente também altera. Todo o resto deste guia deixa o array intacto.

Como remover um item de um array sem alterá-lo?

Use filter para remover por valor, por exemplo arr.filter((x) => x !== 'kiwi'), ou toSpliced(index, 1) para remover por posição. Os dois retornam um novo array e deixam o original como estava.

Por que o map retorna valores undefined?

Sua callback não retornou nada. Uma arrow function com chaves precisa de um return explícito; escreva (x) => x * 2 ou (x) => { return x * 2; }. Um return ausente gera undefined naquela posição.

Lendo um encadeamento da esquerda para a direita

Métodos de busca retornam coisas diferentes

Métodos que alteram e seus equivalentes que copiam

Quando você não pode mexer no original, por exemplo no estado do React ou no argumento de uma função, troque a coluna da esquerda pela da direita.

No lugar versus cópia

Encadeando map, filter e reduce

Total dos pedidos pagos em um só encadeamento

Cada etapa retorna um array novo, e o próximo método roda sobre ele. A lista original de pedidos nunca é alterada.

Lendo e definindo length

length é uma propriedade simples. Diminuí-la remove itens do final, e por isso conta como uma alteração no array.

Atualizando o estado do React sem alterá-lo

Os métodos que copiam entregam ao React um array novo, então o componente renderiza de novo. Chamar sort ou push no array do estado não faria isso.

Todos

Ler

Buscar

Transformar

Ordenar

Adicionar e remover

Iterar

Guia de métodos de array ao vivo

Digite uma lista separada por vírgulas e cada método abaixo roda sobre ela enquanto você edita.

Sua lista (arr)

Filtrar métodos

por exemplo find ou sort

Grupo de métodos

Todos os métodos deste guia

{n} exibidos

Chamada

Grupo

Altera o original?

O que faz

Resultado

Sim

Não

Erro: {v}

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site