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 instanceMapkosong.new Map([["key1", "value1"], ...]): MembuatMapdengan 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,undefinedakan 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): Mengembalikantruejika kunci ada di dalamMap, danfalsejika 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 dariMapberdasarkan kunci. Mengembalikantruejika elemen berhasil dihapus, danfalsejika 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, sehinggaMapmenjadi 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 darioriginalMapkecopiedMap.
Keunggulan Map dibandingkan Objek Biasa
#
- Kunci Tipe Apa Pun:
Mapmemungkinkan penggunaan tipe apa pun sebagai kunci, termasuk objek, yang tidak mungkin dilakukan dengan objek biasa. - Ukuran (
size):Mapmenyediakan propertisizebawaan untuk menghitung jumlah elemen, sedangkan objek biasa memerlukan iterasi untuk menghitung kunci. - Urutan yang Terjaga:
Mapmenjaga 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.