مرکزی مواد پر جائیں
eLearner.app

Fine del Corso JavaScript

Riepilogo e sfida finale

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.

01 · Basi

  • let / const
  • tipi primitivi
  • operatori
  • if / else

02 · Stringhe e numeri

  • template literals
  • metodi stringa
  • Math
  • conversioni

03 · Collezioni

  • array
  • oggetti
  • destructuring + spread
  • iterare

04 · Funzioni

  • dichiarazioni
  • arrow
  • default / rest
  • closures

05 · Controllo del flusso

  • for / while
  • for…of / for…in
  • break / continue
  • try / catch

06 · Array funzionali

  • map / filter
  • reduce
  • find / some / every
  • sort

07 · Asincrono

  • Promise
  • async / await
  • fetch (mock)
  • errori async

08 · Pratica

  • moduli ESM
  • parser CSV
  • validator
  • scheduling

La sfida finale, in tre tappe

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.

1 · Parser CSV → oggetti tipizzati

Trasforma una stringa CSV in array di oggetti, convertendo le colonne numeriche in numeri. Modulo 3 (oggetti) + Modulo 6 (map) + Modulo 8 (CSV).

ورزش#js.boss.e1
کوششیں: 0لوڈ ہو رہا ہے…

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().

3 کوششوں کے بعد حل دستیاب ہے۔

2 · Aggrega per chiave con reduce

Raggruppa i record per una colonna e somma una colonna numerica. Modulo 6 (reduce) + Modulo 3 (oggetti).

ورزش#js.boss.e2
کوششیں: 0لوڈ ہو رہا ہے…

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].

3 کوششوں کے بعد حل دستیاب ہے۔

3 · Carica più endpoint in parallelo

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.

ورزش#js.boss.e3
کوششیں: 0لوڈ ہو رہا ہے…

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.

3 کوششوں کے بعد حل دستیاب ہے۔

Cheatsheet stampabile

Una pagina con tutta la sintassi essenziale di JavaScript, pronta da tenere sotto mano mentre programmi.

Apri il cheatsheet

E adesso?

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.