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.