⊗jsPrCndTD 53 of 62 menu

Diskuse o implementaci kalendáře v JavaScriptu

Náš kalendář je tabulka s čísly od 1 do posledního dne měsíce. Problém je v tom, že čísla v tabulce v první řadě nemají začínat od první buňky.

To je obecně zřejmé. Není zřejmé, od které přesně buňky je třeba začít. Pojďme to promyslet.

Předpokládejme, že týden začíná v pondělí, a to je nultý den. V tomto případě číslo dne v týdnu prvního dne měsíce odpovídá počtu prázdných buněk před ním. Například, čtvrtek bude mít číslo 3 a před ním bude 3 prázdných buněk.

Podobný problém nás bude čekat na konci tabulky. I tam je třeba nechat prázdné buňky po posledním čísle měsíce. V tomto případě počet prázdných buněk bude roven šestce, od které je třeba odečíst číslo dne v týdnu posledního dne měsíce.

Zamysleme se nyní, jak budeme tvořit naši tabulku. Je zřejmé, že nejpohodlnější je mít dvourozměrné pole, v každém podpoli kterého bude po 7 prvcích (= počtu dní v týdnu). Přitom v prvním a posledním podpoli musí být část prvků prázdná.

Algoritmus akcí

Vytvoříme funkci, která udělá pole čísel od 1 do posledního dne měsíce. Poté vytvoříme funkci, která přidá na začátek pole potřebný počet prázdných prvků. Podobná funkce musí přidávat prázdné prvky na konec pole.

Poté získáme jednorozměrné pole s počtem prvků, který je násobkem 7. Převedeme toto pole na dvourozměrné po 7 prvcích v podpoli.

Poté vezmeme toto dvourozměrné pole, přejdeme cykly a vytvoříme naši tabulku.

Tento algoritmus akcí budeme krok za krokem plnit v následujících lekcích.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout