JavaScriptArraysavancado

Remover duplicatas

Em APIs e formulários, dados duplicados geram inconsistências e erros. Remover duplicatas é rotina ao processar listas de IDs, e-mails ou produtos antes de exibir ou armazenar.

O PROBLEMA

Remova duplicatas de 3 formas: Set, filter+indexOf, reduce.

EXEMPLO

[1,2,2,3,4,4,5]
Com Set: [1,2,3,4,5]

SOBRE O CONCEITO

O Set elimina duplicatas automaticamente por armazenar valores únicos; convertê-lo de volta para array com spread [...new Set(arr)] é eficiente (O(n)). filter com indexOf compara se o índice da primeira ocorrência é o atual: arr.filter((v, i) => arr.indexOf(v) === i); embora didático, é O(n²) por percorrer a lista a cada indexOf. reduce usa um acumulador e includes para checar duplicatas: arr.reduce((acc, v) => acc.includes(v) ? acc : [...acc, v], []). O erro comum é achar que filter+indexOf é performático; na prática, Set ou Map são preferíveis.

RESOLUÇÃO

Mais exercícios de Arrays

JSA015 · Intermediáriosome e everyJSA017 · IntermediárioOrdenar números corretamenteJSA001 · BásicoCriar e exibir arrayJSA002 · Básicopush e pop
Ver todos os exercícios de JavaScript