js-set-map-lookups
Przyspieszaj wyszukiwania w JavaScript – zamień array.includes() na Set dla O(1) lookupów
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do optymalizacji wyszukiwań w JavaScript. Zamiast sprawdzać przynależność do tablicy metodą includes() – która działa w O(n) – użyj Set lub Map do O(1) lookupów. Idealne gdy wykonujesz wiele powtarzających się sprawdzeń przynależności do kolekcji. Konwertuj swoje tablice na Set i zyskaj natychmiastowe odpowiedzi niezależnie od rozmiaru danych.
Jak używać
Zidentyfikuj miejsce w kodzie, gdzie używasz array.includes() w pętli lub powtarzających się sprawdzeniach – np. filtrowanie elementów po ID czy walidacja uprawnień.
Zamień deklarację tablicy na Set, opakowując dane konstruktorem new Set(). Na przykład zamiast const allowedIds = ['a', 'b', 'c'] napisz const allowedIds = new Set(['a', 'b', 'c']).
Zastąp metodę includes() metodą has() – zmień allowedIds.includes(item.id) na allowedIds.has(item.id). Obie zwracają boolean, ale has() działa w stałym czasie O(1).
Jeśli pracujesz z parami klucz-wartość (a nie tylko listą wartości), użyj Map zamiast Set – new Map() pozwala przechowywać i wyszukiwać powiązane dane efektywnie.
Przetestuj zmianę – wynik logiki powinien być identyczny, ale operacja będzie znacznie szybsza na dużych kolekcjach. Zwróć uwagę na różnicę wydajności przy setach zawierających tysiące elementów.