Sobes.tech
Middle+

// findUnique metode tiek ir tiek taikomas masīvam, kas atgriež jaunu masīvu ar unikāliem elementiem, // tas ir tie, kas ir parādās tikai vienu reizi sākotnējā masīvā, tajā pašā secībā. // Ir nepieciešams īstenot findUnique metodi tā, lai tā darbotos kā parasta masīva metode [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech AI

Atbilde no AI

Lai pievienotu findUnique metodi masīvam, kas atgriež jaunu masīvu ar elementiem, kas ir tieši vienreiz sākotnējā masīvā, jūs varat paplašināt masīva prototipu šādi:

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

// Piemērs lietošanai:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Skaidrojums:

  • Vispirms mēs izveidojam counts objektu, kur atslēgas ir masīva elementi, bet vērtības ir to parādīšanās skaits.
  • Tad filtrējam sākotnējo masīvu, atstājot tikai tos elementus, kuru parādīšanās skaits ir 1.

Tādējādi, šī metode darbojas kā parasta masīva metode un saglabā elementu kārtību.