Sobes.tech
Middle+

// Viene applicato il metodo findUnique all'array, che restituisce un nuovo array con gli elementi unici, // cioè quelli che sono presenti una sola volta nell'array originale, nello stesso ordine. // È necessario implementare il metodo findUnique affinché funzioni come un normale metodo dell'array [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech AI

Risposta dell'AI

Per aggiungere il metodo findUnique a un array, che restituisce un nuovo array con gli elementi che compaiono esattamente una volta nell'array originale, puoi estendere il prototipo dell'array come segue:

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);
};

// Esempio di utilizzo:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Spiegazione:

  • Prima creiamo l'oggetto counts, dove le chiavi sono gli elementi dell'array e i valori sono il numero di volte che appaiono.
  • Poi filtriamo l'array originale, lasciando solo gli elementi il cui numero di apparizioni è uguale a 1.

In questo modo, il metodo funziona come un metodo normale dell'array e mantiene l'ordine degli elementi.