⊗jsPmLpFl 165 of 505 menu

Travailler avec les drapeaux en JavaScript

Maintenant, nous allons apprendre à travailler avec les drapeaux. Un drapeau est une variable spéciale qui ne peut prendre que deux valeurs : true et false. À l'aide de drapeaux, on peut résoudre des tâches vérifiant l'absence de quelque chose : par exemple, on peut vérifier qu'un tableau ne contient pas d'élément avec une certaine valeur. Commençons.

Résolvons la tâche suivante : un tableau de nombres est donné, il faut vérifier s'il contient un élément avec la valeur 3 ou non. S'il y en a - affichez '+++', s'il n'y en a pas - affichez '---'.

Pour commencer, essayons d'afficher '+++'. Pour cela, parcourons tous les éléments de notre tableau et demandons avec un if si l'élément courant est égal à la valeur 3. S'il est égal - affichons '+++' :

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); } }

Mais notre solution n'est pas très bonne : car si dans le tableau il n'y a pas une seule valeur 3, mais plusieurs, alors '+++' s'affichera plusieurs fois. Modifions notre tableau (faisons deux éléments avec la valeur 3) et assurons-nous-en :

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // affichera plusieurs fois } }

Corrigeons le problème : terminons la boucle avec break, si l'élément est déjà trouvé :

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // terminons la boucle } }

Essayons maintenant de faire en sorte que, s'il n'y a aucun élément avec la valeur 3 dans le tableau, '---' soit affiché. Une idée fausse courante serait d'ajouter else à notre if - dans ce cas, '---' sera affiché pour tous les éléments qui ne sont pas 3 :

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // affiché sur l'élément 3 } else { console.log('---'); // affiché sur les éléments 1, 2, 4, 5 } }

Ainsi, l'idée d'ajouter else est une mauvaise idée, qui ne fonctionne pas. Pour résoudre des tâches de ce type (ces tâches sont assez courantes), on utilise ce qu'on appelle des drapeaux.

Comme mentionné ci-dessus, un drapeau est une variable qui ne peut prendre que deux valeurs : true ou false.

Alors, créons une variable flag avec cette signification : si elle est égale à true, alors le tableau contient l'élément 3, et si elle est à false, alors cet élément n'est pas présent.

Initialement, mettons la variable flag à la valeur false - c'est-à-dire que nous considérerons que l'élément 3 n'est pas dans le tableau :

let arr = [1, 2, 3, 4, 5]; let flag = false; // considérons que l'élément 3 n'est pas dans le tableau

Ensuite, lançons une boucle avec un if comme nous l'avons fait auparavant. Si la boucle détecte que le tableau contient l'élément 3 - alors mettons la variable flag à la valeur true et sortons de la boucle avec break :

let arr = [1, 2, 3, 4, 5]; let flag = false; // considérons que l'élément 3 n'est pas dans le tableau for (let elem of arr) { if (elem == 3) { flag = true; // l'élément est présent - redéfinissons la variable flag break; // sortons de la boucle } }

La réponse à la question, savoir si le tableau contient 3 ou non, nous ne pouvons la donner qu'après la boucle. Et cette réponse, nous l'avons déjà : après la boucle, la variable flag pourrait être restée à false ou avoir changé sa valeur en true, si la boucle a détecté 3 dans le tableau :

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // ici la variable flag est égale à true ou à false

Maintenant, après la boucle, nous pouvons faire un if qui regardera la variable flag et affichera à l'écran '+++' ou '---' :

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } if (flag === true) { console.log('+++'); } else { console.log('---'); }

Un tableau est donné :

let arr = ['a', 'b', 'c', 'd', 'e'];

Vérifiez que ce tableau contient l'élément 'c'. S'il y en a - affichez '+++', et s'il n'y en a pas - affichez '---'.

Écrivez un code qui vérifiera si un nombre est premier ou non. Un nombre premier n'est divisible que par un et par lui-même, et n'est divisible par aucun autre nombre.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser