/** * Implementeer de functie sumPromises, die * promises als argumenten accepteert en de som * van hun resultaten retourneert. * * De functie kan elk aantal argumenten accepteren. * Je kunt elke promise API gebruiken. */ // Voorbeeld van gebruik const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Frontend
// Het is nodig om de method groupBy te implementeren, die de standaardmethoden van arrays uitbreidt. // De methode moet een gegroepeerde versie van de array teruggeven — een object, // waarin de sleutels de resultaten zijn van het aanroepen van de functie fn(arr[i]) voor elk element, // en de waarden arrays zijn die alle elementen van de oorspronkelijke array met die sleutel bevatten. // code hier // Voorbeeld 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Voorbeeld 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Voorbeeld 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }
/** * Implementeer de wrapper-functie runOnce, die * een functie accepteert en een nieuwe functie retourneert. * De nieuwe functie kan slechts één keer worden aangeroepen, * alle volgende oproepen geven undefined terug. * * De ingepakte functie kan argumenten accepteren * en een resultaat retourneren. */ function runOnce(fn) { // jouw code } const logHello = (name) => { console.log(`hallo, ${name}!`) }; const logHelloOnce = runOnce(logHello); console.clear(); logHelloOnce('Oleg'); // 'hallo, Oleg!' logHelloOnce('Olga'); // undefined
/** * Het is nodig om een functie te schrijven die een URL als invoer neemt, * een GET-verzoek naar die URL uitvoert en de gegevens (json) retourneert. * Gebruik fetch om gegevens te verkrijgen. * Alleen de Promise API mag worden gebruikt. * Als er tijdens het verzoek een fout optreedt, probeer dan 5 keer opnieuw. * Als het uiteindelijk niet lukt om de informatie te verkrijgen, geef dan de fout "Gevraagde URL niet bereikbaar" terug. */ function get(url) { // code hier } get(url) .then(res => console.log(res)) .catch(err => console.error(err))
// Je krijgt een string bestaande uit Latijnse letters, spaties en leestekens. // Een string wordt een pangram genoemd als deze elke van de 26 Latijnse letters minstens één keer bevat. // Bepaal of de string een pangram is. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; function isPangram(text) { // jouw code hier } console.log(isPangram('A pangram or holoalphabetic sentence is a sentence using every letter of a given alphabet at least once.')); // -> false console.log(isPangram('Waltz, bad nymph, for quick jigs vex.')); // -> true