Extra oefeningen
Oefening: Unieke waarden
Je begint met de volgende code:
Gebruik
filter
om uit deze array de dubbele waarden uit te halen.Gebruik
reduce
om uit deze array de dubbele waarden uit te halen.Gebruik in plaats van
filter
dereduce
functie om alle food elementen met lengte 4 te filteren.Gebruik
reduce
om het aantal keer een bepaalde waarde voorkomt in de array te tellen. De output moet er zo uit zien:
Maak gebruik van de reduce functie (of meerdere) om de alle gebruikte letters uit de food array te tonen op het scherm. Wat voorbeelden:
Oefening: Muziekanalyse
In deze oefening ga je werken met een dataset van liedjes. Je gaat verschillende bewerkingen uitvoeren om inzicht te krijgen in de gegevens van deze dataset. Gebruik de gegeven Song
interface en songs
array om de volgende taken uit te voeren:
Je kan het volgende json bestand gebruiken voor voorbeeld data:
Voor sommige opdrachten heb je extra interfaces nodig. Hier zijn de interfaces die je nodig hebt:
Korte liedjes: Filter de liedjes met een duur van 200 seconden of korter en log ze in de console. Gebruik hiervoor de
filter
functie.Unieke genres: Geef een lijst van unieke genres in de dataset en log ze in de console. Maak gebruik van de
map
enfilter
functies om dit te bereiken.Unieke albums: Geef een lijst van unieke albums in de dataset en log ze in de console. Pas de
map
enfilter
functies toe om dit doel te bereiken.Unieke artiesten: Geef een lijst van unieke artiesten in de dataset en log ze in de console. Gebruik de
map
enfilter
functies om dit resultaat te verkrijgen.Totale duur: Bereken de totale duur van alle liedjes in de dataset en log het resultaat in de console. De
reduce
functie kan je hierbij helpen.Liedjes per genre: Groepeer de liedjes per genre en log het resultaat in de console. Om dit te doen, kun je de
map
enfilter
functies toepassen.Liedjes per genre (met reduce): Gebruik de
reduce
functie om de liedjes per genre te groeperen en log het resultaat in de console. Begin met een geschikt startobject in dereduce
functie. Maak gebruik van deSongByGenre
interface.Aantal liedjes per artiest: Bereken het aantal liedjes per artiest en log het resultaat in de console. Maak hiervoor gebruik van de
reduce
functie en deSongsPerArtist
interface.Gemiddelde liedjeslengte: Bereken de gemiddelde lengte van alle liedjes in de dataset en log het afgeronde resultaat in de console. Gebruik de
reduce
functie om de totale lengte te berekenen en deel het resultaat door het aantal liedjes.Liedjes gesorteerd op lengte: Sorteer de liedjes op lengte, van kortste naar langste, en log het resultaat in de console. Dit kan worden bereikt met de
sort
functie.Artiesten gesorteerd op aantal liedjes: Sorteer de artiesten op het aantal liedjes, in aflopende volgorde, en log het resultaat in de console. Gebruik de
sort
functie en maak gebruik van de eerder berekende data.
Oefening: Music Search
Deze applicatie gebruikt dezelfde dataset als de Muziekanalyse
oefening.
Bij deze applicatie begin je met een bestaande express applicatie. Zorg eerst goed dat je de applicatie begrijpt.
De applicatie bestaat uit een zoekveld en een lijst van songs. De songs worden opgehaald uit een json bestand. De applicatie is nog niet volledig functioneel. De bedoeling is dat je de applicatie verder afwerkt.
De GET route /
aanvaard drie query parameters:
q
: de zoekstring. Als deze parameter niet aanwezig is, dan worden alle songs getoond. Als de parameter wel aanwezig is, dan worden enkel de songs getoond waarvan de naam, artiest, album of genre de zoekstring bevat.sortDirection
: de sorteerrichting. Als deze parameter niet aanwezig is, dan worden de songs gesorteerd op naam in oplopende richting. Als de parameter wel aanwezig is, dan worden de songs gesorteerd op het veld dat gespecifieerd is in desortField
parameter. De sorteerrichting wordt bepaald door deze parameter. De mogelijke waarden zijnasc
endesc
.sortField
: het veld waarop gesorteerd wordt. Als deze parameter niet aanwezig is, dan worden de songs gesorteerd op naam. Als de parameter wel aanwezig is, dan worden de songs gesorteerd op het veld dat gespecifieerd is in deze parameter. De mogelijke waarden zijnname
enduration
.
Je mag in deze opgave geen gebruik maken van for loops. Je moet dus gebruik maken van de array methodes filter
, indexOf
, map
, reduce
en sort
.
Bij het opstarten van de express applicatie zal je het volgende zien:
Uiteindelijk zal de applicatie er als volgt uitzien:
Last updated