⊗jsPrCndTD 53 of 62 menu

Bespreking van de implementatie van een kalender in JavaScript

Onze kalender is een tabel met nummers van 1 tot de laatste dag van de maand. Het probleem is dat de nummers in de tabel in de eerste rij niet vanaf de eerste cel moeten beginnen.

Dit is over het algemeen duidelijk. Wat niet duidelijk is, is vanaf welke cel precies moet worden begonnen. Laten we erover nadenken.

Stel dat de week begint op maandag, en het is dag nul. In dit geval komt het weekdagnummer van de eerste dag van de maand overeen met het aantal lege cellen ervoor. Bijvoorbeeld, donderdag heeft nummer 3 en ervoor zullen 3 lege cellen zijn.

Een vergelijkbaar probleem wacht ons aan het einde van de tabel. Ook daar moeten lege cellen worden overgelaten na het laatste nummer van de maand. In dit geval zal het aantal lege cellen gelijk zijn aan zes, minus het weekdagnummer van de laatste dag van de maand.

Laten we nu bedenken hoe we onze tabel gaan vormen. Het is duidelijk dat het het handigst is om een tweedimensionale array te hebben, waarin elke subarray 7 elementen bevat (= aantal dagen in de week). Tegelijkertijd moeten in de eerste en laatste subarray een deel van de elementen leeg zijn.

Actie-algoritme

We maken een functie die een array maakt van nummers van 1 tot de laatste dag van de maand. Vervolgens maken we een functie die aan het begin van de array het benodigde aantal lege elementen toevoegt. Een vergelijkbare functie moet lege elementen aan het einde van de array toevoegen.

Hierna krijgen we een eendimensionale array met een aantal elementen, deelbaar door 7. We transformeren deze array in een tweedimensionale array met 7 elementen per subarray.

Vervolgens nemen we deze tweedimensionale array, doorlopen deze met lussen en vormen onze tabel.

We zullen dit actie-algoritme stapsgewijs uitvoeren in de volgende lessen.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren