Middle+
// Metoda findUnique se primenjuje na niz, koji vraća novi niz sa jedinstvenim elementima, // odnosno onima koji se pojavljuju samo jednom u originalnom nizu, u istom redosledu. // Potrebno je implementirati metodu findUnique tako da radi kao obična metoda niza [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
sobes.tech АИ
Одговор од АИ
Da biste dodali metodu findUnique u niz, koja vraća novi niz sa elementima koji se pojavljuju tačno jednom u originalnom nizu, možete proširiti prototip niza na sledeći način:
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);
};
// Primer upotrebe:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]
Objašnjenje:
- Prvo kreiramo objekat
counts, gde su ključevi elementi niza, a vrednosti broj njihovih pojavljivanja. - Zatim filtriramo originalni niz, ostavljajući samo one elemente koji se pojavljuju tačno jednom.
Na ovaj način, metoda funkcioniše kao obična metoda niza i čuva redosled elemenata.