Skip to content

Instantly share code, notes, and snippets.

@bhubr
Created October 2, 2018 09:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bhubr/5169164931c7a53d954ee782cb7738a8 to your computer and use it in GitHub Desktop.
Save bhubr/5169164931c7a53d954ee782cb7738a8 to your computer and use it in GitHub Desktop.
Dojo 2/10/2018

Dojo analyseMots

Enoncé

On veut écrire une fonction analyseMots qui, à partir d'un tableau de mots, va nous renvoyer un tableau d'objets contenant l'analyse d'un mot.

Exemple

const mots = ['lit']
const analyse = analyseMots(mots)

Le résultat attendu est :

[ { mot: 'lit',
    lettres: { l: 1, i: 1, t: 1 },
    longueur: 3,
    consonnes: 2,
    voyelles: 1 } ]

Détail de l'énoncé

Pour chaque mot du tableau passé à analyseMots, l'objet récupéré a les propriétés suivantes :

  • mot qui contient le mot lui-même
  • longueur qui contient sa longueur
  • consonnes qui contient son nombre de consonnes
  • voyelles qui contient son nombre de voyelles
  • lettres qui est lui-même un objet associant, pour chaque lettre trouvée dans le mot, le nombre de fois où elle a été rencontrée

1ère étape : analyser et comprendre l'énoncé

On te dit qu'on veut obtenir un tableau d'objets à partir d'un tableau de mots. Le tableau de résultats aura autant d'éléments que le tableau d'entrée. C'est donc un bon candidat pour l'utilisation de map().

On peut alors décomposer analyseMots en deux :

  • La plus grosse partie, c'est l'écriture d'une fonction qui va analyser un seul mot.
  • Ensuite, c'est l'appel de map() sur le tableau fourni, avec comme paramètre à map() la fonction d'analyse d'un mot.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment