Opérateurs ternaires
Notions théoriques
L'opérateur ternaire est une forme concise d'écrire des instructions conditionnelles.
Il est appelé "ternaire" parce qu'il utilise 3 opérandes :
- une condition,
 - une expression à évaluer si la condition est vraie,
 - et une autre expression à évaluer si la condition est fausse.
 
La syntaxe de l'opérateur ternaire est la suivante :
condition ? expressionSiVrai : expressionSiFaux;
Par exemple, si vous voulez assigner une valeur à une variable en fonction d'une condition, vous pouvez utiliser l'opérateur ternaire de cette manière :
let age = 20;
let estMajeur = (age >= 18) ? "Oui" : "Non";
console.log(estMajeur); // Affiche "Oui"
Exemple pratique
let note = 12;
let mention = (note >= 16) ? "Très bien" : (note >= 14) ? "Bien" : (note >= 12) ? "Assez bien" : "Moyen";
console.log(mention); // Affiche "Assez bien"
Rappel de méthodes à connaître
- 
map() : Cette méthode crée un nouveau tableau avec les résultats de l'appel d'une fonction pour chaque élément du tableau.
 - 
filter() : Cette méthode crée un nouveau tableau avec tous les éléments qui passent le test implémenté par la fonction fournie.
 
TP simple pour s'entrainer à utiliser les méthodes map() et filter()
Tri et transformation d'un tableau
- 
Créez un tableau
nombresqui contient les nombres de 1 à 10.let nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 
- 
Utilisez la méthode
map()pour créer un nouveau tableaunombresCarresqui contient le carré de chaque nombre.Sous la forme
let nombresCarres = nombres.map(...); 
- 
Utilisez la méthode
filter()pour créer un nouveau tableaunombresPairsqui contient seulement les nombres pairs denombresCarres.Sous la forme
let nombresPairs = nombresCarres.filter(...); 
- Affichez le tableau 
nombres, le tableaunombresCarreset le tableaunombresPairssur la console. 
Une solution
Vous devez être connecté pour voir le contenu.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Dans ce TP, nous allons utiliser l'opérateur ternaire pour filtrer des éléments d'un tableau.
- 
Créez un tableau
notesqui contient 10 notes entre 1 et 20.Une solution
let notes = [12, 15, 10, 16, 14, 13, 17, 15, 18, 11]; 
- 
Utilisez la méthode
mappour créer un nouveau tableaumentionsqui contient les 10 appréciations du prof correspondants à chacune des notes.Utilisez l'opérateur ternaire pour déterminer l'appréciation du prof.
Puis affichez le contenu du tableau des appréciations avec l'instruction
console.log(mentions);Une solution
let mentions = notes.map(note => (note >= 16) ? "Très bien" : (note >= 14) ? "Bien" : (note >= 12) ? "Assez bien" : "Moyen");
console.log(mentions); // Affiche ["Assez bien", "Bien", "Moyen", "Très bien", "Bien", "Assez bien", "Très bien", "Bien", "Très bien", "Moyen"] 
- 
Utilisez la méthode
filterpour créer un nouveau tableaunotesAvecMentionqui contient seulement les notes qui ont une mention.Puis affichez le contenu du tableau des notes qui ont une mention avec l'instruction
console.log(notesAvecMention);Une solution
let notesAvecMention = notes.filter(note => note >= 12);
console.log(notesAvecMention); // Affiche [12, 15, 16, 14, 13, 17, 15, 18] 
Le programme complet
let notes = [12, 15, 10, 16, 14, 13, 17, 15, 18, 11];
let mentions = notes.map(note => (note >= 16) ? "Très bien" : (note >= 14) ? "Bien" : (note >= 12) ? "Assez bien" : "Moyen");
console.log(mentions); // Affiche ["Assez bien", "Bien", "Moyen", "Très bien", "Bien", "Assez bien", "Très bien", "Bien", "Très bien", "Moyen"]
let notesAvecMention = notes.filter(note => note >= 12);
console.log(notesAvecMention); // Affiche [12, 15, 16, 14, 13, 17, 15, 18]