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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow