⊗jsPrCndTD 53 of 62 menu

Kalendri realiseerimise arutelu JavaScriptis

Meie kalender on tabel numbritega 1 kuni kuu viimase päevani. Probleem on selles, et tabeli numbrid esimeses reas ei pea algama esimesest lahtrist.

Üldiselt on see ilmne. Ei ole ilmne, millisest lahtrist täpselt tuleks alustada. Mõtleme selle üle.

Oletame, et nädal algab esmaspäevast ja see on nullpäev. Sel juhul vastab kuu esimese päeva nädalapäeva number tühjade lahtrite arvule enne seda. Näiteks neljapäeva number on 3 ja enne seda on 3 tühja lahtrit.

Sarnane probleem ootab meid tabeli lõpus. Seal tuleb samuti jätta tühjad lahTRid pärast kuu viimast numbrit. Sel juhul on tühjade lahtrite arv võrdne kuuega, millest tuleb lahutada kuu viimase päeva nädalapäeva number.

Mõtleme nüüd, kuidas me oma tabelit moodustame. Ilmselt on kõige mugavam kasutada kahemõõtmelist massiivi, kus igas alamassiivis on 7 elementi (= nädalapäevade arv). Samal ajal peavad osad elemendid esimeses ja viimases alamassiivis olema tühjad.

Tegevusalgoritm

Teeme funktsiooni, mis loob massiivi numbritest 1 kuni kuu viimase päevani. Seejärel teeme funktsiooni, mis lisab massiivi algusse vajaliku arvu tühje elemente. Sarnane funktsioon peaks lisama tühje elemente massiivi lõppu.

Pärast seda saame ühemõõtmelise massiivi elementide arvuga, mis on 7 kordne. Teisendame selle massiivi kahemõõtmeliseks, kus on 7 elementi alamassiivi kohta.

Seejärel võtame selle kahemõõtmelise massiivi, tsüklitega läbi ja moodustame oma tabeli.

Seda tegevusalgoritmi hakkame järgmistes õppetükkides etappide kaudu täitma.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu