/** * Implementați funcția sumPromises, care primește * promisiuni ca argumente și returnează suma * rezultatelor lor. * * Funcția poate accepta orice număr de argumente. * Se pot folosi orice API-uri de promisiuni. */ // Exemplu de utilizare const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Frontend
// Este necesar să implementați metoda groupBy, care extinde metodele standard ale array-urilor. // Metoda trebuie să returneze o versiune grupată a array-ului — un obiect, // în care cheile sunt rezultatele apelului funcției fn(arr[i]) pentru fiecare element, // iar valorile sunt array-uri care conțin toate elementele array-ului original cu această cheie. // cod aici // Exemplul 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 }] // } // Exemplul 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Exemplul 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }
/** * Implementați funcția wrapper runOnce, care acceptă * o funcție și returnează o funcție nouă. Funcția nouă * poate fi apelată o singură dată, toate apelurile * ulterioare returnează undefined. * * Funcția încapsulată poate accepta argumente * și returna un rezultat. */ function runOnce(fn) { // codul dvs. } const logHello = (name) => { console.log(`salut, ${name}!`) }; const logHelloOnce = runOnce(logHello); console.clear(); logHelloOnce('Oleg'); // 'salut, Oleg!' logHelloOnce('Olga'); // undefined
/** * Este necesar să scrieți o funcție care primește ca intrare un URL, * face o solicitare GET către acel URL și returnează datele (json). * Pentru obținerea datelor, folosiți fetch. * Se poate folosi doar API-ul Promise. * Dacă apare o eroare în timpul solicitării, încercați de încă 5 ori. * Dacă în final nu se poate obține informația, returnați eroarea "URL specificat inaccesibil". */ function get(url) { // cod aici } get(url) .then(res => console.log(res)) .catch(err => console.error(err))
// Ți se oferă un șir format din litere latine, spații și semne de punctuație. // Se numește pangram un șir dacă conține cel puțin o dată fiecare dintre cele 26 de litere latine. // Determină dacă șirul este pangram. 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) { // codul tău aici } 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