Middle+
// Metoda findUnique jest stosowana do tablicy, która zwraca nową tablicę z unikalnymi elementami, // czyli tymi, które występują w oryginalnej tablicy tylko raz, w tej samej kolejności. // Należy zaimplementować metodę findUnique tak, aby działała jak zwykła metoda tablicy [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
sobes.tech AI
Odpowiedź od AI
Aby dodać metodę findUnique do tablicy, która zwraca nową tablicę z elementami występującymi dokładnie raz w oryginalnej tablicy, możesz rozszerzyć prototyp tablicy w następujący sposób:
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);
};
// Przykład użycia:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]
Wyjaśnienie:
- Najpierw tworzymy obiekt
counts, gdzie klucze to elementy tablicy, a wartości to liczba ich wystąpień. - Następnie filtrujemy oryginalną tablicę, pozostawiając tylko te elementy, które występują dokładnie raz.
W ten sposób metoda działa jak zwykła metoda tablicy i zachowuje kolejność elementów.