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.

Comments