⊗jsPrCndTD 53 of 62 menu

Discuția despre implementarea unui calendar în JavaScript

Calendarul nostru este un tabel cu numere de la 1 până la ultima zi a lunii. Problema este că numerele din tabel, în primul rând, nu trebuie să înceapă de la prima celulă.

În general, acest lucru este evident. Nu este evident din ce celulă exact trebuie să înceapă. Să ne gândim.

Să presupunem că săptămâna începe cu luni, și acesta este ziua zero. În acest caz, numărul zilei de săptămână a primei zile a lunii corespunde cantității de celule goale înaintea ei. De exemplu, joi va avea numărul 3 și înainte ei vor fi 3 celule goale.

O problemă similară ne va aștepta la sfârșitul tabelului. Acolo, de asemenea, trebuie să lăsăm celule goale după ultima zi a lunii. În acest caz, cantitatea de celule goale va fi egală cu șase, din care trebuie să scădem numărul zilei de săptămână a ultimei zile a lunii.

Să ne gândim acum, cum vom forma tabelul nostru. Evident, cel mai convenabil este să avem un array bidimensional, în care fiecare sub-array va avea câte 7 elemente (= numărul de zile din săptămână). În același timp, în primul și în ultimul sub-array, o parte din elemente trebuie să fie goale.

Algoritmul acțiunilor

Vom face o funcție care va crea un array cu numere de la 1 până la ultima zi a lunii. Apoi, vom face o funcție care va adăuga la începutul array-ului numărul necesar de elemente goale. O funcție similară trebuie să adauge elemente goale la sfârșitul array-ului.

După aceasta, vom obține un array unidimensional cu un număr de elemente, multiplu de 7. Vom transforma acest array într-unul bidimensional cu câte 7 elemente în fiecare sub-array.

Apoi, vom lua acest array bidimensional, îl vom parcurge cu bucle și vom forma tabelul nostru.

Vom executa acest algoritm de acțiuni etapă cu etapă în lecțiile următoare.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge