Datastructuren Flashcards
Wat is een datastructuur?
Een datastructuur is een verzameling van data dat op een bepaalde manier is gestructureerd.
Wat zijn objecten?
Een object is een verzameling van samenhorende data en functies dat tussen accolades staat. De data worden de eigenschappen van het object genoemd. De functies opereren op deze eigenschappen en worden de methoden van het object genoemd. Samen vormen eigenschappen en methoden de leden van het object.
voorbeeld:
const john = {
// eigenschappen
firstName: ‘John’,
lastName: ‘Smith’,
birthYear: 1990,
job: ‘teacher’,
isMarried: false,
//methoden calcAge() { return 2020 - this.birthYear; } };
Indien een object op dergelijke manier is gedefinieerd dan noemen we het een object literal.
Wat zijn arrays?
Een array is een geordende lijst van waarden. Met ‘geordend’ wordt bedoeld dat elke waarde op een welbepaalde plaats in de array staat. Zo heeft de eerste waarde in de array positie 0, heeft de tweede waarde positie 1, enzovoort. We gebruiken echter het woord ‘index’ om de positie van een waarde aan te geven. Zo zeggen we dat de eerste waarde in een array staat op index 0.
Hoe kan een array worden gedefinieerd?
const names = [“john”, “mike”, “mary”];
// of
const years = new Array(1990, 1969, 1948);
Hoe kan de lengte van een array worden opgevraagd?
Aan de hand van de length eigenschap:
arr.length
Wat is een set? Geef aan hoe een set kan worden gedefinieerd?
Een set is een verzameling van unieke waarden. Het bevat dus geen dubbels. Een set kan als volgt aangemaakt worden:
const naamSet = new Set(iterable);
Een iterable is een array, string, map, set. Wanneer een iterable wordt meegegeven dan zullen enkel de unieke waarden van die iterable in de set staan, bijvoorbeeld:
// na uitvoer van deze regel is orderSet = {“pasta”, “pizza”, “risotto”}
const orderSet = new Set([“pasta”, “pizza”, “risotto”, “pizza”, “pasta”]);
Het is echter niet verplicht om een iterable als parameter mee te geven. We kunnen dus ook een set als volgt aanmaken:
const orderSet = new Set();
In dit geval wordt een lege set aangemaakt. We kunnen dan waarden als volgt toevoegen:
// voegt een element toe aan de set
orderSet.add(“garlic bread”);
orderSet.add(“pizza”);
orderSet.add(“risotto”);
orderSet.add(“pizza”);
- Hoe vraag je het aantal elementen waaruit een set bestaat op?
- Hoe ga je na of een bepaalt element in de set staat?
- Hoe kan je elementen aan een set toevoegen?
- Hoe kan je een bepaalt element uit een set verwijderen?
- Hoe kan je alle elementen uit een set verwijderen?
- nameOfSet.size;
- nameOfSet.has(“pizza”);
- nameOfSet.add(“pizza”);
- nameOfSet.delete(“garlic bread”);
- nameOfSet.clear();
Is het mogelijk om een waarde uit een set te verkrijgen?
Er is geen manier om waarden uit een set te verkrijgen. Dit is omdat een set gewoon een datastructuur met unieke waarden is waarbij het enkel nodig is om te weten of de set een bepaalde waarde bezit of niet.
Wat is een WeakSet?
Een variant van een set is de WeakSet. WeakSets zijn net zoals Sets met als verschil dat je er enkel objecten in kan opslaan (dus geen primitieven).
Side note: Een Weak set is geen iterable
Wat is een map?
Een map is een datastructuur die we kunnen gebruiken om key-value paren in op te slaan (net zoals objecten). Het grote verschil is dat de keys in objecten (de namen van de leden) steeds een string zijn, terwijl de keys in maps van elk type kunnen zijn.
- Hoe kunnen we een map aanmaken?
- Hoe kunnen we een waarde toevoegen aan een map?
- Hoe kunnen we een waarde uit een map terugkrijgen?
- Hoe kunnen we het aantal elementen uit een map opvragen?
- Hoe ga je na of een map een bepaalde key bezit?
- Hoe verwijder je een bepaalde key uit een map?
- Hoe verwijder je alle leden uit een map?
- Hoe vraag je alle key-value paren van een map op?
- Hoe vraag je alle keys van een map op?
- Hoe vraag je alle values van een map op?
- We kunnen als volgt een map aanmaken:
const restaurant = new Map();
OF
const question = new Map([
[‘question’, ‘what is the best programming language?’],
[1, ‘C’],
[2, ‘Java’],
[3, ‘JavaScript’],
[‘correct’, 3],
[true, ‘correct’],
[false, ‘try again’],
]);
- Voegt een waarde toe:
restaurant.set(‘name’, ‘Classico italiano’); - Vraag een waarde op:
restaurant.get(‘name’); - Vraag aantal elementen op:
restaurant.size; - Gaat na of een bepaalde key in de map staat
restaurant.has(“name”); - Verwijderd het key-value paar met key = 1
restaurant.delete(1); - Verwijderd alle leden uit een map
restaurant.clear(); - Geeft key-value paren
restaurant.entries(); - Geeft keys terug
restaurant.keys(); - Geeft alle values terug
restaurant.values();
- Stel dat je een key-value pair toevoegd aan een map met de set methode (niet de set datastructuur maar de set methode die behoort tot de Map datastructuur en gebruikt wordt om elementen aan een map toe te voegen). Wat geeft deze methode dan terug?
- Waarvoor is dit goed?
- Het geeft de map terug waaraan het nieuwe paar is toevgevoegd.
- Dit is goed omdat je dan verschillende paren aan de map kan toevoegen via method chaining:
restaurant.set(‘some value’).set(‘some other value’).set(‘yet another value’);
Wat is een WeakMap?
Een variant van de map is de WeakMap. Bij deze datastructuur kunnen de keys enkel objecten zijn.