JavaScript - usuwanie duplikatów z tablicy
Witajcie programiści! 👋 😊
W tym krótkim artykule chciałbym pokazać, jak usunąć zduplikowane elementy z tablicy w JavaScript.
W szybkim rozwiązaniu wykorzystałem wbudowaną funkcję filter()
, która została dodana w celu usprawnienia programowania funkcjonalnego.
Jeśli znajdzie ona indeks o tej samej wartości na innej pozycji, nie zostanie on zapisany (innymi słowy, zapisuje tylko te elementy, które wystąpiły pierwszy raz, kolejnych nie bierze pod uwagę).
Uruchamialny przykład:
xxxxxxxxxx
const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const result = array.filter((item, index, array) => array.indexOf(item) === index);
console.log(JSON.stringify(result)); // [1,2,3]
W tym podejściu użyłem obiektu blocker
, który reprezentuje mapę elementów, które już wystąpiły. Pętla for
iteruje tylko raz po wszystkich elementach dodając do mapy, a jeśli jakiś element już się pojawił, to nie doda go ponownie.
To rozwiązanie jest bardziej optymalne, ponieważ ma mniejszą złożoność obliczeniową. 📉✅
Uruchamialny przykład:
xxxxxxxxxx
const removeDuplicates = (array) => {
const result = [];
const blocker = {}; // zapobiaga duplikowaniu elementów
for (const item of array) {
if (blocker.hasOwnProperty(item)) {
continue;
}
blocker[item] = true;
result.push(item);
}
return result;
};
// Przykład użycia:
const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const uniqueItems = removeDuplicates(array);
console.log(JSON.stringify(uniqueItems)); // [1,2,3]
Dziękuję za poświęcony czas! Mam nadzieję, że rozwiązanie okazało się użyteczne. 😊
Do zobaczenia w kolejnych postach! 🔥🔜