Introdução
Neste laboratório, exploraremos uma função JavaScript que ajuda a encontrar todos os valores únicos em um array com base em uma função comparadora fornecida. Usaremos os métodos Array.prototype.reduce() e Array.prototype.some() para criar um novo array que contenha apenas a primeira ocorrência única de cada valor, com base na função comparadora fornecida. Este laboratório fornecerá a você uma compreensão mais profunda de como manipular arrays em JavaScript.
Encontrando Valores Únicos em um Array com uma Função
Para encontrar todos os valores únicos de um array, forneça uma função comparadora.
Use Array.prototype.reduce() e Array.prototype.some() para criar um array contendo apenas a primeira ocorrência única de cada valor. A função comparadora fn recebe dois argumentos, os valores dos dois elementos que estão sendo comparados.
const uniqueElementsBy = (arr, fn) =>
arr.reduce((acc, v) => {
if (!acc.some((x) => fn(v, x))) acc.push(v);
return acc;
}, []);
Para testar a função, use o exemplo abaixo:
uniqueElementsBy(
[
{ id: 0, value: "a" },
{ id: 1, value: "b" },
{ id: 2, value: "c" },
{ id: 1, value: "d" },
{ id: 0, value: "e" }
],
(a, b) => a.id == b.id
); // [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' } ]
Comece a praticar a codificação abrindo o Terminal/SSH e digitando node.
Resumo
Parabéns! Você concluiu o laboratório de Valores Únicos em Array Baseado em Função. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.