Abonneer u nu op mijn e-maillijst op http://jauyeung.net/subscribe/
Volg mij op Twitter op https://twitter.com/AuMayeung
Veel meer artikelen op https://medium.com/@hohanga
Nog meer artikelen op http://thewebdev.info/
Sinds 2015 is JavaScript enorm verbeterd.
Het is nu veel prettiger om het te gebruiken dan ooit.
In dit artikel bekijken we hoe je kaarten op verschillende manieren kunt gebruiken.
Maps naar JSON
Kaarten kunnen worden geconverteerd naar JSON-objecten.
We kunnen de conversie van de spread-operator naar een array doen.
We kunnen bijvoorbeeld schrijven:
const map = new Map()
.set('foo', 'one')
.set('bar', 'two')
.set('baz', 'three');
const arr = [...map];
We kunnen de kaart gewoon spreiden in een reeks sleutel-waardepaararrays, aangezien kaarten itereerbaar zijn.
Zodra we dat hebben gedaan, kunnen we de array converteren naar een JSON-string met JSON.stringify
:
console.log(JSON.stringify(arr));
Dan krijgen we:
[["foo","one"],["bar","two"],["baz","three"]]
We kunnen de stringified array van key-value pair-arrays converteren naar een kaart met JSON.parse
en de Map
constructeur.
We kunnen bijvoorbeeld schrijven:
const parsed = new Map(JSON.parse(str));
Dan krijgen we de originele kaart terug.
Kaart naar object
We kunnen een kaart naar een object converteren door er doorheen te lopen en vervolgens de sleutels als de eigenschappen en de waarden als de waarden te plaatsen.
We kunnen bijvoorbeeld schrijven:
const map = new Map()
.set('foo', 'one')
.set('bar', 'two')
.set('baz', 'three');
const obj = Object.create(null);
for (const [k, v] of map) {
obj[k] = v;
}
We maken een object zonder prototype door null
. door te geven in Object.create
.
Dan doorlopen we onze map
om de sleutel en waarde te krijgen en stel vervolgens de sleutel in als de eigenschapsnaam en de waarde als de waarde met de for-of-lus.
We kunnen het object converteren naar JSON met JSON.stringify
.
We kunnen bijvoorbeeld schrijven:
console.log(JSON.stringify(obj));
En we krijgen:
{"foo":"one","bar":"two","baz":"three"}
geregistreerd.
We kunnen JSON.parse
. bellen om dat terug te ontleden naar een object.
We kunnen bijvoorbeeld schrijven:
const map = new Map()
.set('foo', 'one')
.set('bar', 'two')
.set('baz', 'three');
const obj = Object.create(null);
for (const [k, v] of map) {
obj[k] = v;
}
const str = JSON.stringify(obj);
console.log(JSON.parse(str));
Kaart-API
De Map
API stelt ons in staat een kaart te maken met een itereerbaar object van arrays van sleutel-waardeparen.
Dit is optioneel.
Als we het niet doorgeven, maken we een lege kaart.
We kunnen bijvoorbeeld schrijven:
const map = new Map([
['foo', 'one'],
['bar', 'two'],
['bar', 'three'],
]);
om een kaart te maken.
De Map.prototype.get
methode neemt een tekenreekssleutel en retourneert de waarde met de gegeven sleutel.
Als zo'n sleutel niet op de kaart staat, dan undefined
wordt geretourneerd.
Map.prototype.set
neemt een sleutel en waarde als argumenten en retourneert vervolgens de kaart met de nieuwe invoer toegevoegd.
Map.prototype.has
neemt een sleutel en retourneert een boolean die aangeeft of de sleutel bestaat of niet.
Map.prototype.delete
neemt een sleutel en verwijdert het item dat de sleutel heeft gekregen.
Als een item wordt verwijderd, dan true
wordt geretourneerd.
Anders gebeurt er niets en false
wordt geretourneerd.
Map.prototype.size
is een getter-methode en geeft terug hoeveel items er op de kaart staan.
Map.prototype.clear
wist alle items van de kaart en geeft niets terug.
Conclusie
Kaarten kunnen worden geconverteerd naar arrays en objecten.
Het heeft ook veel methoden die we kunnen gebruiken om gegevens over kaarten te manipuleren en te verkrijgen.
Het bericht Het beste van modern JavaScript — Kaarten verscheen eerst op The Web Dev.