September 17, 2026
Memahami Map dan Set di JavaScript.
Struktur data Map dan Set di JavaScript modern sebagai alternatif objek dan array biasa, lengkap dengan kapan sebaiknya masing-masing dipakai.
Map dan Set adalah struktur data yang diperkenalkan di ES6, melengkapi objek dan array untuk kasus-kasus tertentu yang sebelumnya cukup merepotkan ditangani.
Map: Key-Value dengan Key Bertipe Apapun
Berbeda dari objek biasa yang key-nya selalu diubah jadi string, Map mendukung key bertipe apa saja, termasuk objek dan fungsi.
const nilaiUjian = new Map();
nilaiUjian.set("Andi", 85);
nilaiUjian.set("Budi", 90);
console.log(nilaiUjian.get("Andi")); // 85
console.log(nilaiUjian.size); // 2
Key Berupa Objek pada Map
const siswa1 = { nama: "Citra" };
const dataSiswa = new Map();
dataSiswa.set(siswa1, { nilai: 95, kelas: "XII IPA" });
console.log(dataSiswa.get(siswa1)); // { nilai: 95, kelas: "XII IPA" }
Ini tidak bisa dilakukan secara natural dengan objek biasa, karena key objek akan otomatis diubah menjadi string "[object Object]".
Mengiterasi Map
for (const [nama, nilai] of nilaiUjian) {
console.log(`${nama}: ${nilai}`);
}
Set: Kumpulan Nilai Unik
Set menyimpan kumpulan nilai tanpa duplikat, cocok untuk kasus seperti menghapus data ganda dari sebuah array.
const angkaGanda = [1, 2, 2, 3, 3, 3, 4];
const angkaUnik = new Set(angkaGanda);
console.log(angkaUnik); // Set(4) {1, 2, 3, 4}
console.log([...angkaUnik]); // [1, 2, 3, 4] — diubah kembali jadi array
Operasi Dasar Set
const tags = new Set();
tags.add("javascript");
tags.add("frontend");
tags.add("javascript"); // diabaikan, karena sudah ada
console.log(tags.has("frontend")); // true
tags.delete("frontend");
console.log(tags.size); // 1
Kapan Memilih Map dibanding Objek
Gunakan Map saat key bukan berupa string sederhana, saat urutan penambahan data penting untuk dipertahankan secara konsisten, atau saat sering menambah/menghapus pasangan key-value dalam jumlah besar — Map punya performa lebih baik untuk kasus seperti ini dibanding objek biasa.
Kapan Memilih Set dibanding Array
Gunakan Set saat yang dibutuhkan hanyalah memastikan keunikan data dan pengecekan has() yang cepat, tanpa perlu mengakses elemen lewat indeks seperti pada array.
Kesimpulan
Map unggul untuk key-value dengan tipe key yang fleksibel, sementara Set unggul untuk menyimpan kumpulan nilai unik tanpa duplikat. Keduanya melengkapi objek dan array biasa untuk kasus-kasus spesifik yang sebelumnya membutuhkan penanganan manual yang lebih rumit.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.