⊗jsPrCndTD 53 of 62 menu

Diskussion der Implementierung eines Kalenders in JavaScript

Unser Kalender ist eine Tabelle mit Zahlen von 1 bis zum letzten Tag des Monats. Das Problem besteht darin, dass die Zahlen in der Tabelle in der ersten Reihe nicht von der ersten Zelle an beginnen sollen.

Das ist im Allgemeinen offensichtlich. Nicht offensichtlich ist, von welcher Zelle genau man anfangen muss. Lasst uns das durchdenken.

Angenommen, die Woche beginnt am Montag, und er ist der Nullte Tag. In diesem Fall entspricht die Tagesnummer in der Woche des ersten Tages des Monats der Anzahl der leeren Zellen davor. Zum Beispiel wird der Donnerstag die Nummer 3 haben und davor werden 3 leere Zellen sein.

Ein ähnliches Problem erwartet uns am Ende der Tabelle. Auch dort müssen leere Zellen nach der letzten Zahl des Monats belassen werden. In diesem Fall ist die Anzahl der leeren Zellen gleich sechs, von der die Tagesnummer in der Woche des letzten Tages des Monats abgezogen werden muss.

Überlegen wir nun, wie wir unsere Tabelle bilden werden. Offensichtlich ist es am bequemsten, einen zweidimensionalen Array zu haben, in jedem Unterarray von dem sich 7 Elemente befinden (= Anzahl der Tage in der Woche). Dabei müssen im ersten und letzten Unterarray einige Elemente leer sein.

Ablaufplan

Wir erstellen eine Funktion, die einen Array von Zahlen von 1 bis zum letzten Tag des Monats erstellt. Dann erstellen wir eine Funktion, die am Anfang des Arrays die notwendige Anzahl leerer Elemente hinzufügt. Eine analoge Funktion soll leere Elemente am Ende des Arrays hinzufügen.

Danach erhalten wir einen eindimensionalen Array mit einer Anzahl von Elementen, die ein Vielfaches von 7 ist. Wir wandeln diesen Array in einen zweidimensionalen um, mit 7 Elementen pro Unterarray.

Dann nehmen wir diesen zweidimensionalen Array, durchlaufen ihn mit Schleifen und bilden unsere Tabelle.

Diesen Ablaufplan werden wir schrittweise in den folgenden Lektionen umsetzen.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen