⊗jsPrCndTD 53 of 62 menu

JavaScript naptár megvalósításának megvitatása

A naptárunk egy táblázat a 1-től a hónap utolsó napjáig terjedő számokkal. A probléma az, hogy a táblázat számai az első sorban nem az első cellától kezdődnek.

Ez általában nyilvánvaló. Nem nyilvánvaló, hogy pontosan melyik cellától kell kezdeni. Gondolkozzunk el rajta.

Tegyük fel, hogy a hét hétfővel kezdődik, és az a nulladik nap. Ebben az esetben a hónap első napjának a heti sorszáma határozza meg az előtte lévő üres cellák számát. Például a csütörtök sorszáma 3 lesz, és előtte 3 üres cella lesz.

Hasonló probléma vár ránk a táblázat végén is. Ott is üres cellákat kell hagynunk a hónap utolsó száma után. Ebben az esetben az üres cellák száma hat lesz, amiből ki kell vonni a hónap utolsó napjának heti sorszámát.

Gondolkozzunk most el azon, hogyan fogjuk létrehozni a táblázatunkat. Nyilvánvalóan a legkényelmesebb egy kétdimenziós tömb, amelynek minden résztömbjében 7 elem lesz (= a hét napjainak száma). Ugyanakkor az első és az utolsó résztömbben egyes elemeknek üreseknek kell lenniük.

Műveletek algoritmusa

Készítsünk egy függvényt, amely egy tömböt készít 1-től a hónap utolsó napjáig terjedő számokból. Ezután készítsünk egy függvényt, amely a tömb elejére hozzáadja a szükséges számú üres elemet. Hasonló függvénynek kell üres elemeket hozzáadnia a tömb végéhez.

Ezek után egy olyan egydimenziós tömböt kapunk, amelynek elemeinek száma 7-tel osztható. Alakítsuk át ezt a tömböt kétdimenziósrá, 7 elemű résztömbökké.

Ezután vegyük ezt a kétdimenziós tömböt, járjuk be ciklusokkal, és alakítsuk ki a táblázatunkat.

Ezt a műveletek algoritmusát lépésről lépésre fogjuk végrehajtani a következő leckékben.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás