Map #
Di TypeScript, Map
adalah struktur data bawaan yang digunakan untuk menyimpan pasangan key-value (kunci-nilai). Tidak seperti objek biasa, Map
dapat memiliki kunci dari tipe apa pun (termasuk objek atau tipe primitif), dan menyimpan urutan elemen sesuai dengan urutan penambahan. Berikut adalah penjelasan mengenai Map
dan berbagai operasi yang dapat dilakukan pada Map
:
Membuat Map
#
Anda dapat membuat Map
dengan menggunakan constructor Map
. Pada awalnya, Map
bisa dibuat kosong atau langsung diisi dengan pasangan key-value.
Contoh:
// Membuat Map kosong
let myMap = new Map();
// Membuat Map dengan pasangan key-value
let myMap = new Map([
["key1", "value1"],
["key2", "value2"]
]);
new Map()
: Membuat instanceMap
kosong.new Map([["key1", "value1"], ...])
: MembuatMap
dengan pasangan key-value yang sudah ada.
Menambahkan Elemen ke Map
(set
)
#
Anda dapat menambahkan elemen ke Map
menggunakan metode set
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
myMap.set(1, "one");
myMap.set(true, "isTrue");
set(key, value)
: Menambahkan pasangan key-value ke dalamMap
. Jika kunci sudah ada, nilai yang terkait dengan kunci tersebut akan diperbarui.
Mengambil Nilai dari Map
(get
)
#
Anda dapat mengambil nilai yang terkait dengan kunci tertentu menggunakan metode get
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
let name = myMap.get("name");
console.log(name); // Output: Alice
get(key)
: Mengembalikan nilai yang terkait dengan kunci yang diberikan. Jika kunci tidak ada,undefined
akan dikembalikan.
Memeriksa Keberadaan Kunci di Map
(has
)
#
Anda dapat memeriksa apakah suatu kunci ada di dalam Map
menggunakan metode has
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
console.log(myMap.has("name")); // Output: true
console.log(myMap.has("age")); // Output: false
has(key)
: Mengembalikantrue
jika kunci ada di dalamMap
, danfalse
jika tidak ada.
Menghapus Elemen dari Map
(delete
)
#
Anda dapat menghapus elemen tertentu dari Map
menggunakan metode delete
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
myMap.delete("name");
console.log(myMap.has("name")); // Output: false
delete(key)
: Menghapus pasangan key-value dariMap
berdasarkan kunci. Mengembalikantrue
jika elemen berhasil dihapus, danfalse
jika kunci tidak ditemukan.
Menghapus Semua Elemen dari Map
(clear
)
#
Anda dapat menghapus semua elemen dari Map
menggunakan metode clear
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
myMap.set("age", 30);
myMap.clear();
console.log(myMap.size); // Output: 0
clear()
: Menghapus semua elemen dalamMap
, sehinggaMap
menjadi kosong.
Mendapatkan Ukuran Map
(size
)
#
Anda dapat mengetahui jumlah pasangan key-value yang ada dalam Map
menggunakan properti size
.
Contoh:
let myMap = new Map();
myMap.set("name", "Alice");
myMap.set("age", 30);
console.log(myMap.size); // Output: 2
size
: Mengembalikan jumlah pasangan key-value yang ada dalamMap
.
Iterasi pada Map
#
Anda dapat mengiterasi elemen-elemen dalam Map
menggunakan berbagai metode seperti forEach
, for...of
, atau metode iterator lainnya.
-
Menggunakan
forEach
:let myMap = new Map(); myMap.set("name", "Alice"); myMap.set("age", 30); myMap.forEach((value, key) => { console.log(`${key}: ${value}`); });
-
Menggunakan
for...of
:let myMap = new Map(); myMap.set("name", "Alice"); myMap.set("age", 30); for (let [key, value] of myMap) { console.log(`${key}: ${value}`); }
-
Menggunakan
keys()
,values()
, danentries()
:let myMap = new Map(); myMap.set("name", "Alice"); myMap.set("age", 30); for (let key of myMap.keys()) { console.log(`Key: ${key}`); } for (let value of myMap.values()) { console.log(`Value: ${value}`); } for (let [key, value] of myMap.entries()) { console.log(`${key}: ${value}`); }
-
keys()
: Mengembalikan iterator untuk kunci-kunci dalamMap
. -
values()
: Mengembalikan iterator untuk nilai-nilai dalamMap
. -
entries()
: Mengembalikan iterator untuk pasangan key-value dalamMap
.
Mencopy Map
#
Anda bisa menyalin Map
dengan menggunakan operator new Map()
dan memberikan Map
lain sebagai argumen.
Contoh:
let originalMap = new Map([
["name", "Alice"],
["age", 30]
]);
let copiedMap = new Map(originalMap);
console.log(copiedMap.get("name")); // Output: Alice
new Map(originalMap)
: Menyalin semua elemen darioriginalMap
kecopiedMap
.
Keunggulan Map
dibandingkan Objek Biasa
#
- Kunci Tipe Apa Pun:
Map
memungkinkan penggunaan tipe apa pun sebagai kunci, termasuk objek, yang tidak mungkin dilakukan dengan objek biasa. - Ukuran (
size
):Map
menyediakan propertisize
bawaan untuk menghitung jumlah elemen, sedangkan objek biasa memerlukan iterasi untuk menghitung kunci. - Urutan yang Terjaga:
Map
menjaga urutan elemen sesuai dengan urutan penambahan, sedangkan urutan kunci dalam objek biasa tidak dijamin.
Kesimpulan #
Dengan fitur-fitur ini, Map
di TypeScript menjadi alat yang sangat berguna untuk menyimpan dan mengelola pasangan key-value, terutama ketika kunci yang kompleks atau urutan elemen sangat penting.