Sobes.tech
Middle+

// Se aplică metoda findUnique la array, care returnează un nou array cu elementele unice, // adică cele care apar o singură dată în array-ul original, în aceeași ordine. // Este necesar să implementați metoda findUnique pentru ca să funcționeze ca o metodă obișnuită a array-ului [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech AI

Răspuns de la AI

Pentru a adăuga metoda findUnique la un array, care returnează un nou array cu elementele care apar de exact o singură dată în array-ul original, poți extinde prototipul array-ului după cum urmează:

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

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

Explicație:

  • Mai întâi, creăm obiectul counts, unde cheile sunt elementele array-ului și valorile sunt numărul de apariții.
  • Apoi, filtrăm array-ul original, păstrând doar elementele care apar o singură dată.

Astfel, metoda funcționează ca o metodă normală a array-ului și păstrează ordinea elementelor.