Back to questions
IT One
Middle+
2
// К массиву применяется метод findUnique, который возвращает новый массив из уникальных элементов, // то есть тех, которые в исходном массиве присутствуют всего один раз, расположенных в том же порядке. // Необходимо реализовать метод findUnique так, что бы он работал как обычный метод массива [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
Companies where asked
Answer from AI
sobes.tech 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, где ключи — элементы массива, а значения — количество их появлений. - Затем фильтруем исходный массив, оставляя только те элементы, у которых количество появлений равно 1.
Так метод работает как обычный метод массива и сохраняет порядок элементов.