JavaScript-kaarte
'n Kaart bevat sleutel-waarde-pare waar die sleutels enige datatipe kan wees.
'n Kaart onthou die oorspronklike invoegvolgorde van die sleutels.
'n Kaart het 'n eienskap wat die grootte van die kaart voorstel.
Kaartmetodes
Metode | Beskrywing |
---|---|
nuwe kaart() | Skep 'n nuwe kaartvoorwerp |
stel() | Stel die waarde vir 'n sleutel in 'n kaart |
kry () | Kry die waarde vir 'n sleutel in 'n kaart |
duidelik() | Verwyder al die elemente van 'n kaart |
delete() | Verwyder 'n kaartelement gespesifiseer deur 'n sleutel |
het () | Wys waar as 'n sleutel in 'n kaart bestaan |
vir elke() | Roep 'n terugbel op vir elke sleutel/waarde-paar in 'n kaart |
inskrywings() | Wys 'n iterator-voorwerp met die [sleutel, waarde]-pare in 'n kaart |
sleutels () | Wys 'n iterator-voorwerp met die sleutels in 'n kaart |
waardes() | Wys 'n iterator-objek van die waardes in 'n kaart |
Eiendom | Beskrywing |
---|---|
grootte | Wys die aantal kaartelemente |
Hoe om 'n kaart te skep
Jy kan 'n JavaScript-kaart skep deur:
- Deur 'n skikking aan
new Map()
- Skep 'n kaart en gebruik
Map.set()
nuwe kaart()
Jy kan 'n kaart skep deur 'n Array aan die new Map()
konstruktor deur te gee:
Voorbeeld
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Map.set()
Jy kan elemente by 'n kaart voeg met die set()
metode:
Voorbeeld
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Die set()
metode kan ook gebruik word om bestaande kaartwaardes te verander:
Voorbeeld
fruits.set("apples", 500);
Map.get()
Die get()
metode kry die waarde van 'n sleutel in 'n kaart:
Voorbeeld
fruits.get("apples"); // Returns 500
Kaart.grootte
Die size
eienskap gee die aantal elemente in 'n kaart terug:
Voorbeeld
fruits.size;
Map.delete()
Die delete()
metode verwyder 'n kaartelement:
Voorbeeld
fruits.delete("apples");
Map.clear()
Die clear()
metode verwyder al die elemente van 'n kaart:
Voorbeeld
fruits.clear();
Map.has()
Die has()
metode gee waar as 'n sleutel in 'n kaart bestaan:
Voorbeeld
fruits.has("apples");
Probeer hierdie:
fruits.delete("apples");
fruits.has("apples");
Kaarte is voorwerpe
typeof
gee voorwerp terug:
Voorbeeld
// Returns object:
typeof fruits;
instanceof
Kaart gee waar:
Voorbeeld
// Returns true:
fruits instanceof Map;
JavaScript-voorwerpe vs kaarte
Verskille tussen JavaScript-voorwerpe en kaarte:
Voorwerp | Kaart | |
---|---|---|
Herhaalbaar | Nie direk herhaalbaar nie | Direk herhaalbaar |
Grootte | Het nie 'n grootte eiendom nie | Het 'n grootte eiendom |
Sleutel tipes | Sleutels moet snare (of simbole) wees | Sleutels kan enige datatipe wees |
Sleutelbestelling | Sleutels is nie goed georden nie | Sleutels word deur invoeging georden |
Verstek | Het versteksleutels | Het nie versteksleutels nie |
Map.forEach()
Die forEach()
metode roep 'n terugbel op vir elke sleutel/waarde-paar in 'n kaart:
Voorbeeld
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Map.keys()
Die keys()
metode gee 'n iterator-objek terug met die sleutels in 'n kaart:
Voorbeeld
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.values()
Die values
metode gee 'n iterator-objek terug met die waardes in 'n kaart:
Voorbeeld
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Map.entries()
Die entries()
metode gee 'n iterator-objek terug met die [sleutel,waardes] in 'n kaart:
Voorbeeld
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Voorwerpe as sleutels
Om voorwerpe as sleutels te kan gebruik, is 'n belangrike kaartkenmerk.
Voorbeeld
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
Onthou: Die sleutel is 'n voorwerp (appels), nie 'n tou ("appels") nie:
Voorbeeld
fruits.get("apples"); // Returns undefined
Blaaierondersteuning
JavaScript-kaarte word in alle blaaiers ondersteun, behalwe Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |