Напишите функцию, которая возвращает элементы массива, встречающиеся ровно один раз, сохраняя исходный порядок элементов.

Чтобы добавить метод findUnique к массиву, который возвращает новый массив из элементов, встречающихся ровно один раз в исходном массиве, можно расширить прототип массива следующим образом:

Короткий ответ

Что ответить на собеседовании

Чтобы добавить метод findUnique к массиву, который возвращает новый массив из элементов, встречающихся ровно один раз в исходном массиве, можно расширить прототип массива следующим образом:

Подробный разбор

Ответ с пояснениями

Чтобы добавить метод 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, где ключи — элементы массива, а значения — количество их появлений.
  • Затем фильтруем исходный массив, оставляя только те элементы, у которых количество появлений равно 1.

Так метод работает как обычный метод массива и сохраняет порядок элементов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее