Sobes.tech
Middle+

// O método findUnique é aplicado ao array, que devolve um novo array com os elementos únicos, // ou seja, aqueles que aparecem apenas uma vez no array original, na mesma ordem. // É necessário implementar o método findUnique para que funcione como um método normal do array [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech IA

Resposta da IA

Para adicionar o método findUnique a um array, que devolve um novo array com os elementos que aparecem exatamente uma vez no array original, pode estender o protótipo do array da seguinte forma:

Array.prototype.findUnique = function() {
  const counts = this.reduce((acc, val) => {
    acc[val] = (acc[val] || 0) + 1;
    return acc;
  }, {});

  return this.filter(item => counts[item] === 1);
};

// Exemplo de uso:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Explicação:

  • Primeiro, criamos o objeto counts, onde as chaves são os elementos do array e os valores são a quantidade de vezes que aparecem.
  • Depois, filtramos o array original, deixando apenas os elementos cuja quantidade de aparições é igual a 1.

Assim, o método funciona como um método normal do array e mantém a ordem dos elementos.