new Set()
Despeje a lista em um Set — que não pode guardar duplicatas — e depois espalhe-o de volta para um array.
const unique = function (list) { return [...new Set(list)]; }; unique([3, 1, 3, 2, 1]); // → [3, 1, 2]
Prós
- +A mais curta de ler e escrever — uma linha.
- +Rápida: aproximadamente linear, escala para listas grandes.
- +Mantém a ordem original; lida com
NaN.
Contras
- –Desduplica apenas por identidade — sem "igual" customizado.
- –Objetos comparados por referência, não pelo conteúdo.