Sobes.tech
Middle+

// Методът findUnique се прилага към масива, който връща нов масив с уникалните елементи, // тоест тези, които се срещат само веднъж в оригиналния масив, в същия ред. // Необходимо е да се реализира методът findUnique така, че да работи като обикновен метод на масива [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech AI

Отговор от AI

За да добавите метода findUnique към масив, който връща нов масив с елементите, срещащи се точно веднъж в оригиналния масив, можете да разширите прототипа на масива по следния начин:

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

// Пример за използване:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Обяснение:

  • Първо създаваме обекта counts, където ключовете са елементите на масива, а стойностите са броят на срещанията им.
  • След това филтрираме оригиналния масив, като оставяме само тези елементи, които се срещат точно веднъж.

По този начин, методът работи като обикновен метод на масива и запазва реда на елементите.