JavaScript Map, Set

JavaScript Web

Set

A JavaScript Set egy beépített adattípus, amely egyedi értékek tárolására szolgál. Nem engedi a duplikált elemeket. Az elemek sorrendje a hozzáadásuk sorrendjét követi (iterálható).

Set létrehozása: const mySet = new Set([1, 2, 3]);

add(value)Új elem hozzáadása a Set-hezmySet.add(4)
delete(value)Elem törlése a Set-bőlmySet.delete(2)
has(value)Ellenőrzi, hogy az elem benne van-emySet.has(3)true
clear()Minden elem törlésemySet.clear()
sizeAz elemek számaconsole.log(mySet.size)
keys()Iterátor az elemekhez (megegyezik a values()-szal)for (let k of mySet.keys())
values()Iterátor az elemekhezfor (let v of mySet.values())
entries()Kulcs-érték párok (mindkettő az elem)for (let e of mySet.entries())
forEach(callback)Függvény futtatása minden elemremySet.forEach(val => console.log(val))

Példa:

Javascript map

A JavaScript Map egy beépített objektum, amely kulcs-érték párokat tárol, hasonlóan az objektumokhoz, de néhány fontos különbséggel és előnnyel.

  • Kulcs-érték párok tárolása.
  • A kulcs lehet bármilyen típus (nem csak string, mint az objektumoknál).
  • Megőrzi a beillesztés sorrendjét.
  • Könnyen lekérdezhető a mérete (size).

metódusai

set(key, value)Új kulcs-érték pár hozzáadásamyMap.set('city', 'Budapest')
get(key)Érték lekérése kulcs alapjánmyMap.get('name') // 'Alice'
has(key)Ellenőrzi, hogy létezik-e a kulcsmyMap.has('age') // true
delete(key)Kulcs-érték pár törlésemyMap.delete('age')
clear()Minden elem törlésemyMap.clear()
sizeElemszámconsole.log(myMap.size)
keys()Iterátor a kulcsokhozfor (let k of myMap.keys())
values()Iterátor az értékekhezfor (let v of myMap.values())
entries()Iterátor kulcs-érték párokhozfor (let [k,v] of myMap.entries())
forEach(callback)Függvény futtatása minden elemremyMap.forEach((v,k) => console.log(k,v))

Tipikus felhasználások

  • Adatok tárolása dinamikus kulcsokkal (pl. objektumok, függvények kulcsként).
  • Gyors keresés kulcs alapján.
  • Iterálás sorrendben (megőrzi a beillesztés sorrendjét).

Példa