Labo 10

Oefening 1: Spread Operator

Deze oefening maak je in bestand oefening1.ts.

let numbers1: number[] = [1,2,3];
let numbers2: number[] = [4,5,6];
let numbers3: number[] = [7,8,9];

Gebruik voor deze oefening de spread operator

Maak een variabele allNumbers die een array van alle getallen bevat van de bovenstaande arrays.

Maak nu een nieuwe array extraNumbers die eerst de getallen van allNumbers bevat, en dan de getallen 10,11,12.

Maak een nieuwe array evenMoreNumbers die de getallen -2,-1,0 bevat, dan de getallen van extraNumbers, dan 13, 14, 15.

Oefening 2: Omzetten naar hoofdletters

Deze oefening maak je in bestand oefening2.ts.

let names: string[] = ['joske','franske','donald','achmed']

Maak een variabele capitalNames1 en capitalNames2 die een array van alle bovenstaande namen bevat maar in hoofdletters. Gebruik hiervoor ook de functie toUpperCase(). Doe dit op twee manieren:

  • gebruik foreach

  • gebruik map

Oefening 3: map, filter, reduce, sort!

Deze oefening maak je in bestand oefening3.ts.

interface Pokemon {
    name: string
    xp: number
    type: string
}

let starterPokemonGen1 : Pokemon[] = [
    {name: 'Bulbasaur', xp: 30, type: 'grass'},
    {name: 'Charmander', xp: 50, type: 'fire'},
    {name: 'Squirtle', xp: 45, type: 'water'}
];
let starterPokemonGen2 : Pokemon[]  = [
    {name: 'Chikorita', xp: 30, type: 'grass'},
    {name: 'Cyndaquil', xp: 50, type: 'fire'},
    {name: 'Totodile', xp: 45, type: 'water'}
];

Opmerking: In dit bovenstaande voorbeeld geeft xp weer hoe sterk deze pokemon is. Dit is natuurlijk in de realiteit niet het geval.

Spread

  1. Maak een variabele starters. Zorg ervoor dat die de pokemon van beide arrays bevat. (Gebruik hiervoor de spread operator voor arrays)

  2. Gebruik console.log om de starters pokemon in je terminal venster te laten zien.

Map

  1. Maak een variabele names. Zorg ervoor dat deze een array van de namen van de starters pokemon bevat. (Gebruik hiervoor de map functie voor arrays)

  2. Gebruik console.log om deze array van namen in je terminal venster te laten zien.

Krijg je een error: "Cannot redeclare block-scoped variable 'names'.ts" dan kan je deze oplossen door export {};onderaan al je bestanden te zetten in die directory.

Filter

  1. Maak een variabele weakPokemon. Zorg ervoor dat deze een array van de starters pokemon bevat waarvan de xp waarde kleiner is dan 40 (Gebruik hiervoor de filter functie voor arrays)

  2. Gebruik console.log om deze array van weak pokemon in je terminal vester te laten zien.

Combineren (Map+Filter)

  1. Maak een variabele weakPokemonNames. Zorg ervoor dat deze een array van namen van pokemon bevat waarvan de xp waarde kleiner is dan 40. (Je kan deze verkrijgen door eerst de filter functie te gebruiken en vervolgens de map functie te gebruiken.)

  2. Gebruik console.log om deze array van de namen van weak pokemon in je terminal venster te laten zien.

Reduce

  1. Maak een variable sumOfAllXp. Zorg ervoor dat deze de som van de xp waarden van alle pokemon bevat. (Gebruik hiervoor de reduce functie voor arrays)

  2. Gebruik console.log om deze om te laten zien in je terminal venster.

  3. Maak een variabele strongestPokemon. Zorg ervoor dat deze de pokemon bevat met de hoogste xp waarde.

  4. Gebruik console.log om deze om te laten zien in je terminal venster.

Combineren (Reduce + Filter )

  1. Maak een variabele sumOfAllXpOfWeakPokemon. Zorg ervoor dat deze de som van de xp waarden van alle weakPokemon bevat. (Je kan deze verkrijgen door eerst de filter functie te gebruiken en vervolgens de reduce functie te gebruiken)

  2. Gebruik console.log om deze te laten zien in je terminal venster.

Sorteren

  1. Maak een variabele sortedStarters. Zorg ervoor dat deze een array bevat die pokemon bevat die gesorteerd zijn van lage xp naar hoge xp.

  2. Gebruik console.log om deze te laten zien in je terminal venster.

  3. Zorg ervoor dat als twee pokemon gelijke xp hebben dat deze dan alfabetisch gesorteerd worden op naam.

Last updated