Peta menyimpan pasangan kunci-nilai di mana kuncinya bisa berupa tipe data apa pun
Peta mengingat urutan penyisipan kunci yang asli
Peta memiliki properti yang mewakili ukuran peta
Metode Peta
MethodDescriptionnew Map[]Membuat Map baru objectset[]Mengatur nilai kunci di Mapget[]Mendapatkan nilai kunci di Mapclear[]Menghapus semua elemen dari Mapdelete[]Menghapus elemen Peta yang ditentukan oleh keyhasCara Membuat Peta
Anda dapat membuat Peta JavaScript dengan
- Meneruskan Array ke
new Map[]
- Buat Peta dan gunakan
Map.set[]
Peta baru[]
Anda dapat membuat Peta dengan meneruskan Array ke konstruktor new Map[]
Contoh
// Buat Peta
buah const = Peta baru[[
["apel", 500],
["pisang", 300],
["jeruk", 200]
]];
Peta. mengatur[]
Anda dapat menambahkan elemen ke Peta dengan metode set[]
Contoh
// Buat Peta
const buah = Peta baru[];
// Tetapkan Nilai Peta
buah-buahan. set["apel", 500];
buah-buahan. set["pisang", 300];
buah-buahan. set["jeruk", 200];
Metode set[]
_ juga dapat digunakan untuk mengubah nilai Peta yang ada
Peta. Dapatkan[]
Metode get[]
_ mendapatkan nilai kunci di Peta
Peta. ukuran
Properti size
mengembalikan jumlah elemen dalam Peta
Peta. menghapus[]
Metode delete[]
_ menghapus elemen Peta
Peta. jernih[]
Metode clear[]
_ menghapus semua elemen dari Peta
Peta. memiliki[]
Metode has[]
mengembalikan true jika kunci ada di Peta
Peta adalah Objek
Map.set[]
_0 mengembalikan objek
Map.set[]
_1 Peta kembali benar
Objek JavaScript vs Peta
Perbedaan antara Objek JavaScript dan Peta
ObjectMapTidak dapat langsung di-iterableDi-iterable secara langsungTidak memiliki properti ukuranMemiliki properti ukuranKeys harus berupa String [atau Simbol]Kunci dapat berupa tipe data apa punKeys tidak terurut dengan baikKeys diurutkan dengan penyisipanMemiliki kunci defaultTidak memiliki kunci defaultPeta. untuk setiap[]
Metode Map.set[]
_2 memanggil panggilan balik untuk setiap pasangan kunci/nilai dalam Peta
Contoh
// Daftar semua entri
biarkan teks = "";
buah-buahan. forEach [fungsi [nilai, kunci] {
teks += kunci + ' = ' + nilai;
}]
Peta. entri[]
Metode Map.set[]
_3 mengembalikan objek iterator dengan [key,values] di Peta
Contoh
// Daftar semua entri
biarkan teks = "";
untuk [const x buah. entri[]] {
teks += x;
}
Peta. kunci[]
Metode Map.set[]
_4 mengembalikan objek iterator dengan kunci di Peta
Contoh
// Daftar semua kunci
biarkan teks = "";
untuk [const x buah. kunci[]] {
teks += x;
}
Peta. nilai[]
Metode Map.set[]
_5 mengembalikan objek iterator dengan nilai dalam Peta
Contoh
// Daftar semua nilai
biarkan teks = "";
untuk [const x buah. nilai[]] {
teks += x;
}
Anda dapat menggunakan metode Map.set[]
_5 untuk menjumlahkan nilai dalam Peta
Contoh
// Jumlahkan semua nilai
misalkan total = 0;
untuk [const x buah. nilai[]] {
jumlah += x;
}
Objek sebagai Kunci
Mampu menggunakan objek sebagai kunci adalah fitur Peta yang penting
Contoh
// Membuat Objek
apel const = {nama. 'Apel'};
const pisang = {nama. 'Pisang'};
const jeruk = {nama. 'Jeruk'};
// Buat Peta
const buah = Peta baru[];
// Tambahkan Elemen baru ke Peta
buah-buahan. set[apel, 500];
buah-buahan. set[pisang, 300];
buah-buahan. set[jeruk, 200];
Ingat. Kuncinya adalah objek [apel], bukan string ["apel"]
Dukungan Peramban
Peta JavaScript didukung di semua browser, kecuali Internet Explorer
ChromeEdgeFirefoxSafariOpera
Peta dan Set adalah jenis koleksi yang baru diperkenalkan di JavaScript yang digunakan untuk menyimpan banyak nilai dalam satu variabel. Keduanya memiliki kasus penggunaan berbeda yang membuatnya unik dengan caranya sendiri. Sedangkan Map digunakan untuk menyimpan data berupa Key. Pasangan nilai, Set digunakan untuk menyimpan item data unik tanpa kunci apa pun, hanya indeks
Ruang Lingkup Pasal
- Pada artikel ini, kita akan melihat Map dan Set di JavaScript secara detail termasuk properti dan metodenya
- Kita juga akan melihat Peta vs. Objek, dan Tetapkan vs. Array untuk mendapatkan pemahaman yang jelas tentang Map dan Set di JavaScript
- Kami akan melihat konversi Peta menjadi objek dan sebaliknya, dan Set menjadi Array dan sebaliknya
Apa itu Peta dalam JavaScript?
Peta adalah salah satu dari dua struktur data [tipe koleksi] yang baru diperkenalkan [dalam ES6] dalam JavaScript yang digunakan untuk menyimpan data dalam bentuk kunci. pasangan nilai, di dalam satu variabel. Tunggu, kita sudah punya objek untuk melakukan itu kan? . pasangan nilai tetapi ada batasan tertentu pada Objek yang tidak ada di Peta. Karenanya, Peta memiliki lebih banyak fungsi dibandingkan dengan objek di JavaScript. Kami akan membahas lebih lanjut tentang Peta vs objek nanti di artikel ini, jadi pantau terus
Mari kita lihat cara membuat dan menginisialisasi Maps dalam JavaScript
Bagaimana Cara Membuat dan Menginisialisasi Peta di JavaScript?
Proses membuat dan menginisialisasi Peta di JavaScript sama dengan yang ada di Objek di JavaScript. Sintaksnya adalah
Sintaksis
let mapNameHere = new Map[[iterableHere]];
Contoh
_let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
Dengan cara ini kita dapat membuat dan menginisialisasi peta kosong baru di JavaScript. Mari kita lihat bagaimana kita menambahkan/menyisipkan nilai ke dalam peta kosong yang baru saja kita buat
Catatan. Kompleksitas Waktu untuk penyisipan, pencarian, dan penghapusan entri atau elemen di Map dan Set di JavaScript adalah O[log[n]]
Memasukkan/Menambahkan Nilai ke Peta
Peta dalam JavaScript memiliki metode yang telah ditentukan yang disebut metode set[] yang dapat digunakan untuk menambahkan nilai baru atau memperbarui data Peta yang ada
Contoh
// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
Penjelasan. Dalam contoh yang diberikan di atas, kami telah menggunakan metode set[] untuk menambahkan kunci dan nilai di deviceColors peta. Seperti yang Anda lihat di output bahwa semua kuncinya. pasangan nilai di dalam peta diindeks, tidak seperti Objek. Ini adalah salah satu perbedaan utama antara Peta dan Objek bahwa kumpulan data yang disimpan di dalam Peta diindeks [berbasis 0] maka diurutkan sedangkan kumpulan data di dalam Objek tidak diindeks maka tidak diurutkan [tidak selalu]. Jika Anda memperhatikan hasilnya, Anda akan menemukan bahwa kuncinya. pasangan nilai ditampilkan dalam format panah seperti kunci => nilai
Mendapatkan nilai dan ukuran Peta
Mendapatkan nilai-nilai
Jika kita ingin mendapatkan nilai yang diasosiasikan dengan kunci tertentu, maka kita hanya perlu melewatkan kunci tersebut di dalam metode get[] dari Map. Metode get[] menerima kunci dan mengembalikan nilai yang terkait dengan kunci itu
Contoh
_deviceColors.get['phone']; // getting the value associated with key 'phone'
Keluaran
Jika kunci yang Anda berikan dalam metode get[] tidak ada di Peta itu, maka ia mengembalikan tidak terdefinisi
Contoh
deviceColors.get['keyboard']; // getting the value associated with key 'keyboard'
Keluaran
Mendapatkan ukuran Peta. prototipe. size adalah properti Peta yang menunjukkan jumlah elemen [di sini entri peta] yang ada di peta itu. Ini mirip dengan properti length dari Array. Peta memiliki keuntungan tambahan bahwa ukuran Peta sudah diberikan dalam keluaran Setiap kali kami menghibur. log peta, yang berarti kita tidak perlu mendapatkan ukuran peta secara eksplisit untuk mengetahui ukurannya, tidak seperti Objek
Namun ada kalanya kita perlu menyebutkan ukuran peta secara eksplisit dan dalam situasi seperti itu, kita dapat menggunakan properti size dari Peta
Kunci, Nilai, dan Entri untuk Peta
Kita bisa langsung mendapatkan kunci, nilai, dan entri peta dengan menggunakan metode prototipe Peta. Metode prototipe ini adalah Peta. prototipe. kunci[],Peta. prototipe. nilai[], dan Peta. prototipe. entri[]. Perlu dicatat bahwa ketiga metode prototipe ini mengembalikan Map Iterator
Untuk lebih spesifik, Peta. prototipe. kunci [] metode mengembalikan iterable atas semua kunci peta, Peta. prototipe. metode values[] mengembalikan iterable atas semua nilai peta, dan Peta. prototipe. entri[] metode mengembalikan iterable memiliki [key. value] berpasangan untuk setiap entri Peta
Panjang masing-masing pasangan ini adalah 2, satu untuk kunci dan yang lainnya untuk nilainya
Contoh
_// 1. keys[] deviceColors.keys[]; // using keys[] method to get the keys of the Map. // output MapIterator {'phone', 'laptop', 'headphone', 'powerbank'} // 2. values[] deviceColors.values[]; // using values[] method to get the values of the Map. // output MapIterator {'black', 'silver', 'red', 'white'} // 3.entries[] deviceColors.entries[]; // using entries[] method to get the entries of the Map. // output MapIterator {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'}
Penjelasan. Ada tiga contoh berbeda dalam kode yang diberikan di atas, Pertama kami menggunakan metode keys[] pada perangkat peta Warna untuk mendapatkan kunci peta ini, maka kami mendapatkan kuncinya di output. Kemudian kami menggunakan metode values[] pada peta deviceColors untuk mendapatkan nilai dari peta ini, sehingga kami mendapatkan nilainya di output
Kemudian kami menggunakan metode posts[] pada peta yang sama untuk mendapatkan entri, maka kami mendapatkan entri di output
Iterasi di atas Peta
Iterasi pada kunci peta Ada kalanya kita perlu mengulang Peta dalam JavaScript seperti yang kita lakukan dalam kasus Array atau Objek. Dan inilah perbedaan utama atau katakanlah keuntungan dari Map over Object. Saat kita mengulang Array menggunakan metode forEach[] bawaannya untuk mendapatkan item Array, indeks, dan Array itu sendiri, dengan cara yang sama kita dapat mengulangi Peta menggunakan metode forEach[] bawaan dari Peta yang
Oleh karena itu untuk tujuan pemahaman, kita dapat mengatakan bahwa ==Objek dengan kekuatan Array dikatakan sebagai Peta==. Ini bukan definisi resmi dari Peta;
Iterasi menggunakan metode forEach[]
Iterasi di atas Peta
// there are three arguments in the Map.forEach[] method with order as: value, key and map. deviceColors.forEach[[value, key, map]=>{ console.log["I am value: ", value]; console.log["I am key: ", key]; console.log["I am map: ", map]; }];
Keluaran
_I am a value: black I am a key: phone I am a map: Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} I am a value: silver I am a key: laptop I am a map: Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} I am a value: red I am a key: headphone I am a map: Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} I am a value: white I am a key: powerbank I am a map: Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'}
Dalam contoh yang diberikan di atas, kami menggunakan Peta. forEach[] untuk mengulangi nilai Peta, kunci Peta, dan Peta itu sendiri
Iterasi hanya pada kunci Peta
_// Here we avoided the third argument that is map, as we just wanted to iterate over the keys of Map. deviceColors.forEach[[value, key]=>{ console.log["I am a key: ", key]; }];
Keluaran
_0let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Dalam contoh yang diberikan di atas, kami menggunakan Peta. forEach[] untuk mengulang kunci Map
Iterasi atas nilai Peta saja
_1let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
_2let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Dalam contoh yang diberikan di atas, kami menggunakan Peta. forEach[] metode untuk mengulangi nilai Peta
Iterasi menggunakan for. dari lingkaran
Kami juga dapat mengulangi Peta di JavaScript menggunakan for. dari lingkaran. Di sini kita akan melihat cara mengulang entri peta, kunci peta, dan kemudian memetakan nilai menggunakan for. dari lingkaran
Iterasi atas entri Peta
_3let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
_4let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi entri Peta
Mengulangi kunci Peta
_5let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
_6let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi kunci Map dengan bantuan Map. kunci[] metode
Mengulangi nilai Peta
_7let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi nilai Map dengan bantuan Map. nilai[] metode
Mengulang kunci dan nilai Peta secara bersamaan dengan merusak kunci dan nilai entri Peta
_8let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Keluaran
_9let deviceColors = new Map[]; // creates a new map console.log[deviceColors]; // gives an empty map with size 0
Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi kunci dan nilai Peta secara bersamaan dengan bantuan teknik penghancuran
Catatan. Anda dapat mempelajari lebih lanjut tentang perusakan di sini
Peta juga dapat menggunakan objek sebagai kunci
Kunci Peta dalam JavaScript luar biasa karena kami dapat menentukan nilai apa pun [seperti boolean, angka, fungsi, atau bahkan objek] sebagai kunci. Tapi sejauh menyangkut Objek, mereka tidak memiliki fungsi ini. Sebagai contoh
0// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
1// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Seperti yang Anda lihat pada contoh yang diberikan di atas bahwa kita dapat menetapkan nilai apa pun sebagai kunci, seperti di sini kita telah menetapkan objek kosong. Demikian pula, kita dapat menetapkan objek dengan data, fungsi, atau apapun sebagai kunci
Peta vs. Obyek. Kapan Anda harus menggunakannya?
Baik Peta, maupun Objek, digunakan untuk menyimpan kumpulan elemen kunci atau data kunci di dalam satu variabel. Objek adalah salah satu anggota JavaScript tertua sementara Peta diperkenalkan di ES6 yang berarti Peta di JavaScript adalah jenis koleksi yang baru diperkenalkan. Mari kita lihat beberapa keunggulan Peta dibandingkan Objek
1. Indeks dan ketertiban
Objek tidak diindeks yang berarti bahwa mereka tidak selalu dalam urutan penyisipan tertentu sementara Peta diindeks sehingga mereka selalu dalam urutan penyisipan tertentu. Kita tahu tentang Array dalam JavaScript yang juga mengikuti pola pengindeksan dan urutan yang sama. Oleh karena itu, hanya untuk tujuan pemahaman, kita dapat mengatakan bahwa Peta adalah kombinasi dari Objek dan Array seperti di Peta kita memiliki kekuatan kunci. pasangan nilai seperti yang terlihat pada Objek dan kekuatan pengindeksan dan urutan penyisipan seperti yang terlihat pada Array
2. Iterasi Sederhana dan Mudah
Iterasi di Objek tidak sesederhana di Peta karena Peta memiliki beberapa metode bawaan seperti metode forEach[] untuk iterasi yang membuatnya menjadi cakewalk untuk mengulang di atas Peta;
3. Kunci yang Menakjubkan
Peta dalam JavaScript dapat memiliki kunci milik tipe data apa pun baik itu angka, boolean, fungsi, atau bahkan objek dan fungsi ini tidak ada di Objek
4. Ukuran Peta
Properti ukuran hadir di dalam Peta yang merupakan keuntungan tambahan menggunakan Peta di atas Objek karena Objek tidak memiliki cara bawaan untuk mendapatkan ukurannya
Sekarang muncul pertanyaan jenis koleksi mana yang akan digunakan kapan?
Ada beberapa keuntungan dari Objek juga seperti mereka hebat saat berhadapan dengan JSON. mengurai[] dan JSON. stringify[] yang membuatnya mudah untuk bekerja dengan JSON. Perlu dicatat bahwa JSON adalah format data yang digunakan secara luas yang berhubungan dengan banyak REST API. Jadi setelah melalui poin-poin yang disebutkan di atas, akan lebih mudah bagi Anda untuk memilih mana yang paling sesuai dengan kebutuhan Anda.
Obyek. entri[]. Membuat Peta dari Objek
Peta juga dapat dibuat dengan [Kunci, Nilai] Array yang dipasangkan yang telah ditentukan sebelumnya. Kita hanya perlu melewatkan Array ini di dalam konstruktor Peta saat membuat Peta baru
Contoh
2// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
_3// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Objek. entri[] adalah metode bawaan yang hanya mengubah objek biasa menjadi array array. Dan larik larik ini diteruskan ke konstruktor peta untuk membuat peta baru
Contoh
_4// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
5// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Dalam contoh yang diberikan di atas, kami menggunakan data objek bernama myObj untuk membuat Peta yang memiliki data yang sama, dengan bantuan Object. entri[] metode
Obyek. fromEntries[]. Membuat Objek dari Peta
Bagaimana jika kita ingin mendapatkan Objek dari Peta itu? . fromEntries[] metode bawaan. Objek. metode fromEntries[] menerima entri Peta sebagai parameter. Kita dapat melewati entri peta menggunakan Peta. entri[] metode. Setelah mendapatkan entri peta, Object. metode fromEntries[] membuat objek menggunakan entri peta tersebut. Beginilah cara kami mendapatkan Objek dari Peta
Contoh
6// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
7// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Dalam contoh yang diberikan di atas, kami menggunakan entri peta bernama myMap untuk membuat Object dari entri peta tersebut dengan menggunakan Object. metode fromEntries[]
Bagaimana Cara Mengonversi Peta menjadi Array di JavaScript?
Mungkin ada situasi ketika kita ingin memiliki array dari semua kunci peta atau semua nilai peta. Untuk mendapatkan array dari key Map kita bisa menggunakan Map. keys[] metode dan untuk mendapatkan array nilai Map kita bisa menggunakan Map. Metode Values[] dengan operator spread yang menyebarkan data yang diberikan ke dalam array
Contoh
_8// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Keluaran
_9// adding data in our newly created map deviceColors.set['phone', 'black']; deviceColors.set['laptop', 'silver']; deviceColors.set['headphone', 'red']; deviceColors.set['powerbank', 'white']; console.log[deviceColors];
Dalam contoh yang diberikan di atas, kami menggunakan operator spread dengan metode keys[] dan metode values[] untuk mendapatkan array kunci dan array nilai dari Peta yang ditentukan
Catatan. Anda dapat mempelajari lebih lanjut tentang operator spread di sini
LemahMaps dalam JavaScript
Selain Peta dalam JavaScript, kami memiliki sesuatu yang disebut WeakMaps yang tidak lain adalah Peta dengan fungsi terbatas. Saat kita membuat Peta, dengan cara yang sama kita membuat WeakMap, kita hanya perlu mengganti konstruktor Map[] dengan konstruktor WeakMap[]
Sintaksis
0Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
Karena WeakMaps memiliki kekuatan yang relatif lemah, mereka disebut Peta "Lemah". WeakMaps berbeda dari Maps karena aspek-aspek berikut
1. Hanya Objek sebagai kunci
Fungsi memiliki kunci yang diinginkan tidak ada di WeakMaps, tidak seperti Maps. Untuk lebih spesifik, kami hanya memiliki satu opsi untuk kunci di WeakMaps yaitu Object, tidak peduli apakah itu Object kosong atau tidak
Contoh
1Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
2. Tidak ada ikhtisar
Tidak ada ikhtisar berarti bahwa kita tidak dapat mengulangi entri WeakMap, kuncinya, atau nilainya. Itu karena WeakMaps tidak memiliki metode prototipe bawaan untuk iterasi tidak seperti metode forEach[] di Maps
Contoh
2Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
Keluaran
_3Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
3. Tidak dapat menghapus WeakMap
Tidak mungkin menghapus WeakMap. Ya, kami benar-benar tidak dapat menghapus WeakMap, tidak seperti Peta di mana kami dapat menghapus Peta menggunakan Petanya. prototipe. metode clear[]
Contoh
_4Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
Dalam contoh yang diberikan di atas, Anda dapat melihat bahwa kami dengan mudah membersihkan Peta. Sekarang mari kita coba melakukan hal yang sama dengan WeakMap
Contoh
5Map[4] {'phone' => 'black', 'laptop' => 'silver', 'headphone' => 'red', 'powerbank' => 'white'} [[Entries]] 0: {"phone" => "black"} key: "phone" value: "black" 1: {"laptop" => "silver"} key: "laptop" value: "silver" 2: {"headphone" => "red"} key: "headphone" value: "red" 3: {"powerbank" => "white"} key: "powerbank" value: "white" size: 4 [[Prototype]]: Map
Dalam contoh yang diberikan di atas, Anda dapat melihat bahwa ketika kami mencoba menghapus WeakMap, kami mendapatkan TypeError di konsol. Dan konsol ketiga. pernyataan log membuktikan bahwa WeakMap tidak dapat dihapus karena datanya masih sama seperti sebelumnya
Sekarang Anda mungkin berpikir bahwa jika WeakMaps memiliki begitu banyak batasan dan sangat lemah lalu mengapa ada orang yang menggunakannya atau mengapa mereka ada?
Peta Properti dan Metode
Berikut adalah tabel yang terdiri dari semua Metode dan Properti Peta yang penting dengan perincian dan nilai pengembaliannya
Method/PropertyDetailsReturn Valueadd[value]Menambahkan elemen baru ke SetSet Objectdelete[value]Menghapus elemen dari Set menggunakan keyBooleanvalues[]Mengembalikan semua kunci yang ada di SetSetIterator objectkeys[]Mengembalikan semua kunci yang ada di