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.
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 } ]
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êmelongueur
qui contient sa longueurconsonnes
qui contient son nombre de consonnesvoyelles
qui contient son nombre de voyelleslettres
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
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.