Diferença de Array Mapeado

Beginner

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

Introdução

Neste laboratório, exploraremos a implementação da função differenceBy em JavaScript. Esta função nos permite encontrar a diferença entre dois arrays aplicando uma função fornecida a cada elemento em ambos os arrays. Aprenderemos como usar Set, Array.prototype.map() e Array.prototype.filter() para comparar e filtrar arrays de forma eficaz com base em um critério específico.

Função para Retornar a Diferença de Dois Arrays por Mapeamento

Para começar a codificar, abra seu Terminal/SSH e digite node.

Esta função recebe dois arrays e aplica a função fornecida a cada elemento em ambos os arrays para retornar sua diferença.

Para fazer isso:

  • Crie um Set aplicando a função (fn) a cada elemento no segundo array (b).
  • Use Array.prototype.map() para aplicar a função (fn) a cada elemento no primeiro array (a).
  • Use Array.prototype.filter() em combinação com a função (fn) no primeiro array (a) para manter apenas os valores que não estão contidos no segundo array (b), usando Set.prototype.has().

Aqui está o código para a função:

const differenceBy = (a, b, fn) => {
  const s = new Set(b.map(fn));
  return a.map(fn).filter((el) => !s.has(el));
};

Aqui estão alguns exemplos de como usar a função:

differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [1]
differenceBy([{ x: 2 }, { x: 1 }], [{ x: 1 }], (v) => v.x); // [2]

Resumo

Parabéns! Você concluiu o laboratório de Diferença de Array Mapeado. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.