Zoeken…
Syntaxis
- nieuwe kaart ([iterable])
- map.set (sleutel, waarde)
- map.get (sleutel)
- kaart grootte
- map.clear ()
- map.delete (sleutel)
- map.entries ()
- map.keys ()
- map.values ()
- map.forEach (callback [, thisArg])
parameters
Parameter | Details |
---|---|
iterable | Elk itereerbaar object (bijvoorbeeld een array) dat [key, value] -paren bevat. |
key | De sleutel van een element. |
value | De waarde toegewezen aan de sleutel. |
callback | Callback-functie opgeroepen met drie parameters: waarde, sleutel en de kaart. |
thisArg | Waarde die als this wordt gebruikt bij het uitvoeren van callback . |
Opmerkingen
In Kaarten wordt NaN
beschouwd als hetzelfde als NaN
, hoewel NaN !== NaN
. Bijvoorbeeld:
const map = new Map([[NaN, true]]);
console.log(map.get(NaN)); // true
Een kaart maken
Een kaart is een basistoewijzing van sleutels tot waarden. Kaarten verschillen van objecten omdat hun toetsen van alles kunnen zijn (zowel primitieve waarden als objecten), niet alleen tekenreeksen en symbolen. Herhaling over kaarten wordt ook altijd gedaan in de volgorde waarin de items in de kaart zijn ingevoegd, terwijl de volgorde niet is gedefinieerd bij het herhalen van sleutels in een object.
Gebruik de Map-constructor om een kaart te maken:
const map = new Map();
Het heeft een optionele parameter, die elk iterabel object (bijvoorbeeld een array) kan zijn dat arrays van twee elementen bevat - eerst is de sleutel, seconden zijn de waarde. Bijvoorbeeld:
const map = new Map([[new Date(), {foo: "bar"}], [document.body, "body"]]);
// ^key ^value ^key ^value
Een kaart wissen
Gebruik de methode .clear()
om alle elementen uit een kaart te verwijderen:
map.clear();
Voorbeeld:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.get(1)); // undefined
Een element uit een kaart verwijderen
Gebruik de methode .delete()
om een element uit een kaart te verwijderen.
map.delete(key);
Voorbeeld:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.get(3)); // 4
map.delete(3);
console.log(map.get(3)); // undefined
Deze methode retourneert true
als het element bestond en is verwijderd, anders false
:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.delete(1)); // true
console.log(map.delete(7)); // false
Controleren of er een sleutel bestaat in een kaart
Gebruik de methode .has()
om te controleren of er een sleutel in een kaart bestaat:
map.has(key);
Voorbeeld:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.has(1)); // true
console.log(map.has(2)); // false
Kaarten herhalen
Map heeft drie methoden die iterators retourneren: .keys()
, .values()
en .entries()
. .entries()
is de standaardkaart-iterator en bevat [key, value]
paren.
const map = new Map([[1, 2], [3, 4]]);
for (const [key, value] of map) {
console.log(`key: ${key}, value: ${value}`);
// logs:
// key: 1, value: 2
// key: 3, value: 4
}
for (const key of map.keys()) {
console.log(key); // logs 1 and 3
}
for (const value of map.values()) {
console.log(value); // logs 2 and 4
}
Map heeft ook de methode .forEach()
. De eerste parameter is een callback-functie, die voor elk element in de map wordt aangeroepen, en de tweede parameter is de waarde die als this
wordt gebruikt bij het uitvoeren van de callback-functie.
De callback-functie heeft drie argumenten: waarde, sleutel en het kaartobject.
const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4
Elementen ophalen en instellen
Gebruik .get(key)
om waarde per sleutel te krijgen en .set(key, value)
om een waarde aan een sleutel toe te wijzen.
Als het element met de opgegeven sleutel niet bestaat in de kaart, retourneert .get()
undefined
.
.set()
methode retourneert het .set()
, zodat u .set()
-aanroepen kunt .set()
.
const map = new Map();
console.log(map.get(1)); // undefined
map.set(1, 2).set(3, 4);
console.log(map.get(1)); // 2
Het aantal elementen van een kaart ophalen
Gebruik de eigenschap .size
om het aantal elementen van een kaart te krijgen:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2