Dapatkah Anda memetakan satu set dalam javascript?

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 keyhas

Cara 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]
]];

Cobalah sendiri "

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];

Cobalah sendiri "

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 default

Peta. 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;
}]

Cobalah sendiri "

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;
}

Cobalah sendiri "

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;
}

Cobalah sendiri "

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;
}

Cobalah sendiri "

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;
}

Cobalah sendiri "

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];

Cobalah sendiri "

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

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_0

Dalam contoh yang diberikan di atas, kami menggunakan Peta. forEach[] untuk mengulang kunci Map

Iterasi atas nilai Peta saja

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_1

Keluaran

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_2

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

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_3

Keluaran

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_4

Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi entri Peta

Mengulangi kunci Peta

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_5

Keluaran

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_6

Dalam contoh yang diberikan di atas, kami menggunakan for. of loop untuk mengulangi kunci Map dengan bantuan Map. kunci[] metode

Mengulangi nilai Peta

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_7

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

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_8

Keluaran

let deviceColors = new Map[]; // creates a new map
console.log[deviceColors]; // gives an empty map with size 0
_9

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

// 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];
0

Keluaran

// 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];
1

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

// 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];
2

Keluaran

// 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];
_3

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

// 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];
_4

Keluaran

// 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];
5

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

// 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];
6

Keluaran

// 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];
7

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

// 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];
_8

Keluaran

// 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];
_9

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

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
0

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

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
1

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

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
2

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
_3

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

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
_4

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

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
5

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

Bagaimana cara mengatur dan masuk ke peta dalam JavaScript?

Peta baru[] – membuat peta
peta. set[key, value] – menyimpan nilai dengan kunci
peta. get[key] – mengembalikan nilai dengan kunci, tidak ditentukan jika kunci tidak ada di peta
peta. has[key] – mengembalikan nilai true jika kuncinya ada, false jika tidak
peta. delete[key] – menghapus elemen [pasangan kunci/nilai] dengan kunci

Kapan menggunakan set dan peta di js?

Ringkasan. .
Gunakan Set saat kumpulan data Anda harus terdiri dari nilai unik
Gunakan Peta saat Anda memiliki pasangan data terkait. Anda memetakan kunci ke nilai

Apakah ada struktur data yang ditetapkan dalam JavaScript?

Set adalah struktur data yang pertama kali diperkenalkan di ECMAScript 6 . Set menyimpan kumpulan nilai seperti Array tetapi hanya dapat berisi elemen unik; . Apakah Anda baru mengenal JavaScript atau pemrogram berpengalaman, struktur data Set dapat berguna dalam banyak skenario.

Bagaimana cara mengakses nilai yang ditetapkan dalam JavaScript?

Demo JavaScript. Mengatur. prototipe. nilai .
const set1 = set baru[];
set1. tambahkan[42];
set1. add['empat puluh dua'];
konstitusi iterator1 = set1. nilai[];
menghibur. log[iterator1. lanjut[]. nilai];
menghibur. log[iterator1. lanjut[]. nilai];

Bài mới nhất

Chủ Đề