Sobes.tech
Junior

V jakých případech byste měli použít Set místo Array?

sobes.tech AI

Odpověď od AI

Set by měl být použit, když jsou důležité následující aspekty:

  • Unikátnost prvků: Set ze své podstaty neumožňuje duplicitní prvky. Pokud potřebujete množinu unikátních hodnot, Array bude vyžadovat další logiku pro jejich filtrování.
  • Vysoký výkon operací zkoušky členství (kontrola přítomnosti): Kontrola, zda Set obsahuje určitý prvek, má průměrnou složitost O(1) (amortizovanou), zatímco u Array je to O(n).
  • Vysoký výkon operací vkládání a mazání: Vkládání a mazání prvků podle hodnoty v Set má také obvykle průměrnou složitost blízkou O(1), zatímco u Array může dosáhnout O(n), pokud se neprovádí na konci.
  • Nepotřebujete zachovávat pořadí prvků: Set nezaručuje žádné konkrétní pořadí prvků. Pokud je pořadí důležité, použijte Array.

Typické scénáře použití Set:

  • Uložení množiny unikátních identifikátorů.
  • Filtrace duplicit z kolekce.
  • Efektivní provádění operací nad množinami, jako sjednocení, průnik a rozdíl.
  • Rychlá kontrola přítomnosti prvku v kolekci.

Příklad získání unikátních prvků z pole pomocí Set:

let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - pořadí není garantováno