Toolverse
Wszystkie skille

js-set-map-lookups

autor: TheOrcDev

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

Szybkie info

Kategoria
Frontend
Wyświetlenia
3

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ć

  1. 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ń.

  2. 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']).

  3. 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).

  4. 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.

  5. 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.

Podobne skille