Sets und Maps

Sets und Maps sind zwei alternative Datenstrukturen zu Arrays und Objekten.

Sets

Mit dem Set-Objekt kannst du eindeutige Werte jedes Typs speichern, egal ob primitive Werte oder Objektreferenzen.

Sets erstellen

const  = new Set(['Pasta', 'Pizza', 'Pizza', 'Risotto', 'Pasta', 'Pizza']);

Wie wir sehen können, werden Duplikate sofort entfernt.

Datenzugriff

Es gibt in Sets keine Möglichkeit Elemente abzurufen. Jedoch besteht dazu auch kein Bedarf, da die Reihenfolge egal ist und es keine Duplikate gibt. Es reicht uns mit has() zu überprüfen, ob ein Element in jenem Set ist.

Länge

has()

Um zu überprüfen, ob ein bestimmtes Element in einem Set ist, benutzen wir die Methode has().


Sets modifizieren

add()

ordersSet.add('Garlic Bread');

delete()

ordersSet.delete('Risotto');

Maps

Das Map-Objekt enthält Schlüssel-Wert-Paare und merkt sich die ursprüngliche Einfügereihenfolge der Schlüssel. Jeder Wert (sowohl Objekte als auch primitive Werte) kann entweder als Schlüssel oder als Wert verwendet werden.

Maps erstellen

const restaurant = new Map();

Datenzugriff

restaurant.get('name');
restaurant.get(true);
restaurant.get(1);
restaurant.get(3);

Grösse

restaurant.size;

has()

restaurant.has('categories');
restaurant.has('open');
restaurant.has('closed');

Maps modifizieren

set()

restaurant.set('name', 'Classico Italiano');
restaurant.set(1, 'Firenze, Italy');
restaurant.set(2, 'Lisbon, Portugal');

Auch die Verkettung von mehreren set()-Methoden ist möglich.

restaurant
  .set('categories', ['Italian', 'Pizzeria', 'Vegetarian', 'Organic'])
  .set('open', 11)
  .set('close', 23)
  .set(true, 'We are open!')
  .set(false, 'We are closed!');

delete()

restaurant.delete(2);

clear()

Mit der clear()-Methode können wir alle Key-Value-Paare einer Map löschen.

restaurant.clear();

Zuletzt aktualisiert