01 · Basi
- let / const
- tipi primitivi
- operatori
- if / else
Fine del Corso JavaScript
Complimenti: hai attraversato gli 8 moduli del Corso JavaScript — dalle prime let e if fino a async/await, Promise.all e ai pattern funzionali con map, filter, reduce. Qui sotto la mappa di tutto quello che padroneggi e una sfida finale in tre tappe che li mette al lavoro insieme.
Immagina un'app che riceve dati dal server in formato CSV, li valida e li aggrega per presentarli all'utente. Costruisci i tre pezzi che fanno il lavoro: il parser, l'aggregatore e il caricatore parallelo. Ogni tappa combina concetti dei moduli che hai studiato — nessuna lezione nuova.
Trasforma una stringa CSV in array di oggetti, convertendo le colonne numeriche in numeri. Modulo 3 (oggetti) + Modulo 6 (map) + Modulo 8 (CSV).
Definisci parseRecords(csv, colonneNumeriche) dove colonneNumeriche è un array di nomi di colonna da convertire con Number(). Ritorna l'array di oggetti.
Set delle colonne numeriche, split per righe, mappa ogni riga in oggetto convertendo i campi giusti con Number().
Soluzione disponibile dopo 3 tentativi
Raggruppa i record per una colonna e somma una colonna numerica. Modulo 6 (reduce) + Modulo 3 (oggetti).
Definisci sommaPerChiave(records, chiave, valore) che ritorna un oggetto { gruppo: somma }. Esempio: sommaPerChiave([{citta:'Roma',n:1},{citta:'Roma',n:2},{citta:'Milano',n:5}], 'citta', 'n') -> { Roma: 3, Milano: 5 }.
reduce con accumulatore oggetto: acc[r[chiave]] = (acc[r[chiave]] || 0) + r[valore].
Soluzione disponibile dopo 3 tentativi
Recupera in parallelo più CSV, combina i record, e calcola la somma totale di una colonna. Modulo 7 (Promise.all + fetch) + le funzioni delle tappe precedenti.
Definisci async caricaTotale(urls, colonna) che fa fetch+text() di ogni URL in parallelo, parsa ognuno con parseRecords (con [colonna] come numerico), concatena tutti i record e ritorna la somma di obj[colonna] su tutti. Ridefinisci parseRecords come nella prima sfida.
Promise.all su urls.map(fetch -> text), parseRecords con la colonna come numerica, flatMap, poi reduce somma.
Soluzione disponibile dopo 3 tentativi
Una pagina con tutta la sintassi essenziale di JavaScript, pronta da tenere sotto mano mentre programmi.
Il modo migliore per consolidare è pratica libera. Apri un editor (o il Playground JS quando lo sbloccherai) e prova a riscrivere a memoria gli esercizi più complessi, oppure cimentati con piccoli script da riga di comando: un contatore di parole su un file, un client HTTP minimale, un piccolo bot.