Valores Únicos em Array Baseado em Função

Beginner

This tutorial is from open-source community. Access the source code

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.