Toolverse
All skills

js-set-map-lookups

by TheOrcDev

Use Set and Map for O(1) membership lookups instead of array.includes(). Apply when checking membership repeatedly or performing frequent lookups against a collection.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
TheOrcDev
Category
Frontend
Views
3

About this skill

Use Set and Map for O(1) membership lookups instead of array.includes(). Apply when checking membership repeatedly or performing frequent lookups against a collection.

How to use

  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.

Related skills