Het beste van modern JavaScript — Kaarten

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.