Voir le topic de mise en place des exercices : http://www.developpez.net/forums/d15...es-javascript/
Ce topic pour discuter/valider/corriger les cours/exercices du chapitre 1:
Le langage JavaScript
- 1.1. Le premier script (1)
1.2. Les opérateurs conditionnels et le typage implicite (3)
- [Facile][Indispensable] Exercice 1.2.1 : Les structures conditionnelles avec l'instruction "if...else" => validé
- [Facile][Indispensable] Exercice 1.2.2 : Les structures conditionnelles avec l'instruction "switch" => validé
- [Intermédiaire][Indispensable] Exercice 1.2.3 : Les particularités du switch et l'utilisation de la bibliothèque standard => en cours de validation
- [Facile][Indispensable] Exercice 1.2.4 : Le typage dynamique => validé
- [facile][indispensable]Exercice 1.2.5 : L'opérateur ternaire => validé
1.3. Les objets (0) (non visible)
- [facile][indispensable]Exercice 1.3.1 : Les tableaux et les boucles de type for => en cours de validation
- [facile][indispensable]Exercice 1.3.2 : La boucle de type while => en cours de validation
- [facile][indispensable]Exercice 1.3.3 : La manipulation de tableau => en cours de validation
- [facile][recommandé]Exercice 1.3.4 : La manipulation de tableau => en cours de validation
- [moyen][indispensable]Exercice 1.3.5 : La suppression d'élément dans un tableau => en cours de validation
- [construction][moyen][indispensable]Exercice 1.3.6 : Les boucles et les chaînes de caractères
- [construction][moyen][indispensable]Exercice 1.3.7 : L'objet Array, son prototype et ses méthodes
1.4. Les fonctions et les scopes (3) (non visible)
- [construction]Une fonction javascript "utilisateur"
- [construction][facile][indispensable] La récursivité en JavaScript
- [construction][facile][indispensable] Opérations de base sur un compte bancaire
- [construction][moyen][indispensable] Fonction de callback : Manipulation de chaines de caractères
1.5. Le prototype et l'héritage (0) (non visible)
1.6. L'asynchronicité (0) (non visible)
1.7. Les erreurs (0) (non visible)
1.8. Les moteurs JavaScript et la compatibilité (0) (non visible)
Voilà donc mes retours sur l'exercice Tableaux et boucles:
Cette définition n'est pas satisfaisante:Tableaux numériques et associatifs
- Notez que nous utilisons ici des tableaux numériques. On parle de tableaux numériques lorsque les index du tableau sont de type numérique.
- Lorsque les index sont de type alphanumérique on parle de tableaux associatifs. Les tableaux associatifs sont peu utilisés en JavaScript car cette structure comporte des contraintes. Pour créer des structures associatives on utilise la plupart du temps des objets que nous verrons plus tard
Je préfère l'approche du MDN qui est de parler de tableaux tout court, pour désigner les Array. Et ensuite de préciser qu'il ne s'agit pas de tableaux associatifs, en expliquant le principe des index numériques entiers continus. Pour les tableaux associatifs, je propose qu'on ne s'attarde pas trop sur ce vocabulaire très confusant, et qu'on parle directement d'objets ou de maps (mot anglais mais très couramment utilisé et qui permet d'introduire les Maps ES6 dans un second temps).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 > var o = { 42: "test" } < Object {42: "test"}
Je propose aussi de conclure l'exercice en demandant, selon le bon vouloir de l'élève, de refaire la même chose, mais avec la déclaration littérale du tableau et l'utilisation de la méthode push. C'est utile car on connait rarement à l'avance la taille d'un tableau dans les utilisations pratiques (données dynamiques)
Partager