Mapin ja Setin perusteet
Käytä Mapia avain–arvo-hakuihin ja Setiä yksilöllisiin arvoihin; käy niitä läpi, muunna niitä ja sovella pieniä malleja
Mapin ja Setin perusteet on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Miksi Map ja Set?
Tavoite: Valitkaa sopiva tietorakenne.
- Map: avain→arvo, avaimena voi olla mikä tahansa tyyppi
- Set: yksilölliset arvot
- Iterointi ja muuntaminen
- Pieniä arkipäiväisiä käyttömalleja

Map: set/get/has
Map tarjoaa metodit set, get, has, delete ja clear sekä size-ominaisuuden.
// Map: key→value with any key type
const userToScore = new Map();
// set values
userToScore.set("ayla", 10);
userToScore.set("mina", 15);
// read values
console.log("ayla:", userToScore.get("ayla"));
console.log("has lena?", userToScore.has("lena"));
// size
console.log("size:", userToScore.size);

Set: yksilölliset arvot
Set säilyttää kustakin arvosta vain yhden kappaleen, joten kaksoiskappaleet ohitetaan.
// Set: unique values
const seen = new Set();
// add values (duplicates are ignored)
seen.add("red");
seen.add("blue");
seen.add("red"); // ignored
console.log("size:", seen.size);
console.log("has red?", seen.has("red"));
seen.delete("blue");
console.log("after delete:", seen.size);

Miksi Map eikä Object?
Map säilyttää olioiden identiteetin avaimina. Tavalliset oliot muuntavat avaimet merkkijonoiksi.
// Map can use objects as keys directly
const key1 = { id: 1 };
const key2 = { id: 1 }; // different reference
const map = new Map();
map.set(key1, "A");
console.log("get key1:", map.get(key1));
console.log("get key2:", map.get(key2)); // undefined (different object)
const obj = {};
obj[key1] = "B"; // coerces key to "[object Object]"
console.log("object key:", obj["[object Object]"]);

Muunnokset
Luokaa Set-rakenteesta yksilöllisiä taulukoita. Rakentakaa Map pareista ja muuntakaa se takaisin entries()-funktion avulla.
// Unique array values via Set
const nums = [2, 2, 3, 4, 3];
const unique = Array.from(new Set(nums));
console.log("unique:", unique);
// Map from pairs; back to pairs
const pairs = [["a", 1], ["b", 2]];
const m = new Map(pairs);
console.log("get a:", m.get("a"));
console.log("entries:", Array.from(m.entries()));

Muistettavat käyttötavat
Pieniä käyttömalleja:
- Käyttäkää Mapiä lukumäärien laskemiseen (avain → luku).
- Käyttäkää Setiä nopeisiin jäsenyyden tarkistuksiin.
- Suosikaa Mapia, kun avaimet eivät ole merkkijonoja tai kun tarvitsette lisäysjärjestyksen.

Setin yksilöllisyyden koe
Pikatarkistus: Yksilöllisyys.

Kertaus
Kertaus: Valitkaa Map avain→arvo-hakuihin, joissa avain voi olla mitä tahansa tyyppiä, ja Set yksilöllisille arvoille. Iteroikaa ja muuntakaa rakenteita entries()-funktion ja Array.from-funktion avulla.

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 59
- Oppitunnit
- 200
Usein kysytyt kysymykset
Onko oppitunti ”Mapin ja Setin perusteet” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “Mapin ja Setin perusteet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Mapin ja Setin perusteet”?
Käytä Mapia avain–arvo-hakuihin ja Setiä yksilöllisiin arvoihin; käy niitä läpi, muunna niitä ja sovella pieniä malleja Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Mapin ja Setin perusteet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?
Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Mapin ja Setin perusteet
- WeakMap ja WeakSet — yksinkertainen yksityisyys ja välimuistit
- Läpikäyntimallit