⊗jsPrCndTD 53 of 62 menu

Discussion sur l'implémentation d'un calendrier en JavaScript

Notre calendrier est un tableau avec des nombres de 1 au dernier jour du mois. Le problème est que les nombres dans le premier rang du tableau ne doivent pas commencer par la première cellule.

Cela est généralement évident. Ce qui n'est pas évident, c'est à partir de quelle cellule exactement nous devons commencer. Réfléchissons.

Supposons que la semaine commence le lundi, et que c'est le jour zéro. Dans ce cas, le numéro du jour de la semaine du premier jour du mois correspond au nombre de cellules vides avant lui. Par exemple, jeudi aura le numéro 3 et il y aura 3 cellules vides avant lui.

Un problème similaire nous attend à la fin du tableau. Là aussi, il faut laisser des cellules vides après le dernier jour du mois. Dans ce cas, le nombre de cellules vides sera égal à six, moins le numéro du jour de la semaine du dernier jour du mois.

Réfléchissons maintenant à la façon dont nous allons former notre tableau. Il est évident qu'il est plus pratique d'avoir un tableau à deux dimensions, dans chaque sous-tableau duquel il y aura 7 éléments (= nombre de jours dans la semaine). En même temps, dans les premier et dernier sous-tableaux, une partie des éléments doivent être vides.

Algorithme des actions

Créons une fonction qui fera un tableau de nombres de 1 au dernier jour du mois. Ensuite, créons une fonction qui ajoutera au début du tableau le nombre nécessaire d'éléments vides. Une fonction similaire doit ajouter des éléments vides à la fin du tableau.

Après cela, nous obtiendrons un tableau unidimensionnel avec un nombre d'éléments multiple de 7. Transformons ce tableau en un tableau à deux dimensions avec 7 éléments dans chaque sous-tableau.

Ensuite, prenons ce tableau à deux dimensions, parcourons-le avec des boucles et formons notre tableau.

Nous exécuterons cet algorithme d'actions étape par étape dans les leçons suivantes.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser