Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

JavaScript Lanjutan

Pelajaran 7 dari 22

Objek, Map, dan Set

Map dan Set

Setelah pelajaran ini kamu bisa menghitung dan menyimpan pasangan kunci-nilai dengan Map serta membuang duplikat dengan Set.

±13 menitDiperiksa 28 Sep 2026

Materi

Map menyimpan pasangan kunci dan nilai, seperti objek, dengan tiga perbedaan: kuncinya boleh bertipe apa saja (angka, objek, bukan hanya teks), urutan pasangannya selalu sesuai urutan dimasukkan, dan jumlahnya langsung dibaca dari size. Method-nya set(kunci, nilai), get(kunci), has(kunci), dan delete(kunci). Map dipakai untuk kamus yang terus ditambah dan dibaca, misalnya penghitung kunjungan per pengguna.

Set menyimpan kumpulan nilai tanpa duplikat. new Set(array) membuang nilai kembar sambil mempertahankan urutan kemunculan pertama, dan [...set] mengubahnya kembali menjadi array. has memeriksa keanggotaan tanpa menelusuri seluruh isi seperti includes pada array. Keduanya bisa dibaca dengan for...of dan dituangkan dengan spread.

const hadir = ["Ani", "Budi", "Ani", "Cici", "Budi"];
const unik = [...new Set(hadir)]; // ["Ani", "Budi", "Cici"]

const skor = new Map();
skor.set("Ani", 80).set("Budi", 75);
skor.get("Ani");            // 80
skor.has("Cici");           // false
skor.size;                  // 2
[...skor];                  // [["Ani", 80], ["Budi", 75]]
Object.fromEntries(skor);   // { Ani: 80, Budi: 75 }

Map dan Set tidak ikut ditulis oleh JSON.stringify: keduanya menjadi {} karena isinya tidak disimpan sebagai property. Sebelum dikirim atau disimpan, Map diubah dengan Object.fromEntries(map) atau [...map], dan Set dengan [...set].

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Apa hasil JSON.stringify(new Map([["a", 1]]))?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke