Introdução
Neste laboratório, exploraremos como usar a função uniqueElementsByRight() em JavaScript para encontrar os valores únicos invertidos de um array com base em uma função comparadora fornecida. Aprenderemos como usar os métodos Array.prototype.reduceRight() e Array.prototype.some() para criar um array contendo apenas a última ocorrência única de cada valor com base na função comparadora fornecida. Ao final deste laboratório, você terá uma melhor compreensão de como manipular arrays em JavaScript usando esses métodos.
Função para Encontrar Valores Únicos Invertidos em Array
Para encontrar todos os valores únicos de um array com base em uma função comparadora fornecida, da direita para a esquerda, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduceRight()eArray.prototype.some()para criar um array contendo apenas a última ocorrência única de cada valor, com base na função comparadorafn. - A função comparadora recebe dois argumentos: os valores dos dois elementos que estão sendo comparados.
- Aqui está o código para implementar a função:
const uniqueElementsByRight = (arr, fn) =>
arr.reduceRight((acc, v) => {
if (!acc.some((x) => fn(v, x))) acc.push(v);
return acc;
}, []);
- Use o seguinte código para testar a função:
uniqueElementsByRight(
[
{ 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: 'e' }, { id: 1, value: 'd' }, { id: 2, value: 'c' } ]
Resumo
Parabéns! Você concluiu o laboratório de Valores Únicos Invertidos em Array com Base em Função. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.