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-hez | mySet.add(4) |
| delete(value) | Elem törlése a Set-ből | mySet.delete(2) |
| has(value) | Ellenőrzi, hogy az elem benne van-e | mySet.has(3) → true |
| clear() | Minden elem törlése | mySet.clear() |
| size | Az elemek száma | console.log(mySet.size) |
| keys() | Iterátor az elemekhez (megegyezik a values()-szal) | for (let k of mySet.keys()) |
| values() | Iterátor az elemekhez | for (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 elemre | mySet.forEach(val => console.log(val)) |
Példa:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// Létrehozás const mySet = new Set([1, 2, 3]); console.log("Kezdeti Set:", mySet); // Hozzáadás mySet.add(4); mySet.add(2); // Nem adja hozzá, mert már benne van console.log("Hozzáadás után:", mySet); // Törlés mySet.delete(3); console.log("Törlés után:", mySet); // Ellenőrzés console.log("Van benne 2?", mySet.has(2)); // true console.log("Van benne 3?", mySet.has(3)); // false // Elemszám console.log("Elemek száma:", mySet.size); // Elemek kiírása console.log("Elemek:"); for (let value of mySet) { console.log(value); } // forEach használata mySet.forEach(val => console.log("forEach:", val)); |
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ása | myMap.set('city', 'Budapest') |
get(key) | Érték lekérése kulcs alapján | myMap.get('name') // 'Alice' |
has(key) | Ellenőrzi, hogy létezik-e a kulcs | myMap.has('age') // true |
delete(key) | Kulcs-érték pár törlése | myMap.delete('age') |
clear() | Minden elem törlése | myMap.clear() |
| size | Elemszám | console.log(myMap.size) |
keys() | Iterátor a kulcsokhoz | for (let k of myMap.keys()) |
values() | Iterátor az értékekhez | for (let v of myMap.values()) |
entries() | Iterátor kulcs-érték párokhoz | for (let [k,v] of myMap.entries()) |
forEach(callback) | Függvény futtatása minden elemre | myMap.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
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
const myMap = new Map(); // Hozzáadás myMap.set('name', 'Alice'); myMap.set('age', 25); myMap.set('city', 'Budapest'); // Lekérés console.log(myMap.get('name')); // Alice // Ellenőrzés console.log(myMap.has('age')); // true // Iterálás for (let [key, value] of myMap) { console.log(`${key}: ${value}`); } // Törlés myMap.delete('age'); console.log(myMap.size); // 2 |
