0% ont trouvé ce document utile (2 votes)
647 vues2 pages

Exercices TypeScript pour Développeurs

Ce document décrit un exercice TypeScript sur les tableaux. L'exercice contient 12 questions à résoudre avec des fonctions fléchées utilisant des méthodes comme forEach, map, filter, reduce, every et some. Les questions portent sur la manipulation d'un tableau de données d'employés.

Transféré par

Cheujeu chaldou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (2 votes)
647 vues2 pages

Exercices TypeScript pour Développeurs

Ce document décrit un exercice TypeScript sur les tableaux. L'exercice contient 12 questions à résoudre avec des fonctions fléchées utilisant des méthodes comme forEach, map, filter, reduce, every et some. Les questions portent sur la manipulation d'un tableau de données d'employés.

Transféré par

Cheujeu chaldou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Formation TypeScript - Marseille, 01/12/2018 - Achref El Mouelhi

TP 1 : Tableaux avec TypeScript

Exercice
Étant donné le tableau suivant qui représente les données personnelles des employés d’une entreprise
ainsi que leurs villes d’intervention :
const personnes = [
{ type : ' user ' , nom : ' Max Mustermann ' , age : 25 , villes : [ ' Marseille ' , ' Lyon ' , ' Paris '] } ,
{ type : ' admin ' , nom : ' John Wick ' , age : 45 , villes : [ ' Paris '] } ,
{ type : ' user ' , nom : ' Kate Muller ' , age : 23 , villes : [ ' Nantes ' , ' Lyon ' , ' Lille ' , ' Nice '] } ,
{ type : ' admin ' , nom : ' Bruce Willis ' , age : 64 , villes : [ ' Paris ' , ' Nantes '] } ,
{ type : ' user ' , nom : ' Jack Wilson ' , age : 35 , villes : [ ' Marseille ' , ' Lyon ' , ' Montpellier '] } ,
{ type : ' admin ' , nom : ' Carol Smith ' , age : 23 , villes : [ ' Marseille ' , ' Nice ' , ' Montpellier '] }
];

Répondez aux questions suivantes en utilisant forEach, map, filter, reduce, every et some.
1. Écrivez une fonction fléchée getByType(type: string): Array<Object> qui retourne la liste
des personnes selon le type passé en paramètre.
2. Écrivez une fonction fléchée getByVille(ville: string): Array<Object> qui retourne la
liste des personnes ayant dans villes la ville passée en paramètre.
3. Écrivez une fonction fléchée getOtherVilleThan(ville: string): Array<Object> qui re-
tourne la liste des personnes n’ayant pas dans villes la ville passée en paramètre.
4. Écrivez une fonction fléchée countVilles(): Array<Object> qui retourne un tableau d’ob-
jets : chaque objet contient le nom d’une personne ainsi que son nombre de villes (voir ci-
dessous).
[
{ nom : ' Max Mustermann ' , nbrVilles : 3 } ,
{ nom : ' John Wick ' , nbrVilles : 1 } ,
{ nom : ' Kate Muller ' , nbrVilles : 4 } ,
{ nom : ' Bruce Willis ' , nbrVilles : 2 } ,
{ nom : ' Jack Wilson ' , nbrVilles : 3 } ,
{ nom : ' Carol Smith ' , nbrVilles : 3 }
]

5. Écrivez une fonction fléchée getByVillesNumber(nbr: number): Array<Object> qui retourne


les personnes dont le nombre de villes d’intervention correspond au paramètre nbr.
6. Écrivez une fonction fléchée countCharacterInVilles(): Array<Object> qui retourne un
tableau d’objets : chaque objet contient le nom d’une personne ainsi que le nombre total de
caractères de ses villes (voir ci-dessous).
[
{ nom : ' Max Mustermann ' , total : 18 } ,
{ nom : ' John Wick ' , total : 5 } ,
{ nom : ' Kate Muller ' , total : 19 } ,
{ nom : ' Bruce Willis ' , total : 11 } ,
{ nom : ' Jack Wilson ' , total : 24 } ,
{ nom : ' Carol Smith ' , total : 24 }
]

7. Écrivez une fonction fléchée countByVille(ville: string): number qui retourne le nombre
de personnes qui interviennent dans la ville passée en paramètre (ici c’est 3 pour Marseille
par exemple).
8. Écrivez une fonction fléchée findHavingMaxVille(): number qui permet de retourner le nombre
max de villes d’intervention de toutes les personnes (ici c’est 4).
9. Écrivez une fonction fléchée getAllVilles(): Array<String> qui permet de retourner un
tableau de toutes les villes (sans doublons).
10. Écrivez une fonction fléchée getAvgAge(ville: string): number qui retourne la moyenne
d’age (d’employés) de la ville passée en paramètre.
11. Écrivez une fonction fléchée getAvgAgeByVille(): Array<Object> qui retourne la moyenne
d’age de chaque ville d’intervention sous forme d’un tableau d’objet.
12. Écrivez une fonction fléchée getYoungerByVille(): Array<Object> qui retourne le nom de
la personne la plus jeune par ville (voir ci-dessous).
[
{
ville : ' Marseille ' ,
plusJeune : { type : ' admin ' , nom : ' Carol Smith ' , age : 23 , villes : [ Array ] }
},
{
ville : ' Lyon ' ,
plusJeune : { type : ' user ' , nom : ' Kate Muller ' , age : 23 , villes : [ Array ] }
},
{
ville : ' Paris ' ,
plusJeune : { type : ' user ' , nom : ' Max Mustermann ' , age : 25 , villes : [ Array ] }
},
{
ville : ' Nantes ' ,
plusJeune : { type : ' user ' , nom : ' Kate Muller ' , age : 23 , villes : [ Array ] }
},
{
ville : ' Lille ' ,
plusJeune : { type : ' user ' , nom : ' Kate Muller ' , age : 23 , villes : [ Array ] }
},
{
ville : ' Nice ' ,
plusJeune : { type : ' user ' , nom : ' Kate Muller ' , age : 23 , villes : [ Array ] }
},
{
ville : ' Montpellier ' ,
plusJeune : { type : ' admin ' , nom : ' Carol Smith ' , age : 23 , villes : [ Array ] }
}
]

Vous aimerez peut-être aussi