⊗jsPrCndTD 53 of 62 menu

Discussione sull'implementazione di un calendario in JavaScript

Il nostro calendario è una tabella con i numeri da 1 all'ultimo giorno del mese. Il problema è che i numeri nella tabella nella prima riga non dovrebbero iniziare dalla prima cella.

Questo in generale è ovvio. Non è ovvio da quale cella esattamente iniziare. Riflettiamoci.

Supponiamo che la settimana inizi di lunedì, e questo sia il giorno zero. In questo caso il numero del giorno della settimana del primo giorno del mese corrisponde al numero di celle vuote prima di esso. Ad esempio, giovedì avrà numero 3 e prima di esso ci saranno 3 celle vuote.

Un problema simile ci aspetterà alla fine della tabella. Anche lì sarà necessario lasciare celle vuote dopo l'ultimo numero del mese. In questo caso il numero di celle vuote sarà uguale a sei, da cui sottrarre il numero del giorno della settimana dell'ultimo giorno del mese.

Ora pensiamo a come formeremo la nostra tabella. È ovvio che il modo più conveniente è avere un array bidimensionale, in ogni sotto-array del quale ci saranno 7 elementi (= numero di giorni nella settimana). Allo stesso tempo, nel primo e nell'ultimo sotto-array, parte degli elementi dovrebbero essere vuoti.

Algoritmo delle azioni

Creiamo una funzione che creerà un array di numeri da 1 all'ultimo giorno del mese. Poi creiamo una funzione che aggiungerà all'inizio dell'array il numero necessario di elementi vuoti. Una funzione analoga dovrebbe aggiungere elementi vuoti alla fine dell'array.

Dopo di che, avremo un array unidimensionale con un numero di elementi multiplo di 7. Trasformiamo questo array in uno bidimensionale con 7 elementi in ogni sotto-array.

Poi prenderemo questo array bidimensionale, lo itereremo con dei cicli e formeremo la nostra tabella.

Eseguiremo questo algoritmo di azioni fase per fase nelle prossime lezioni.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta