⊗jsPmLpFl 165 of 505 menu

JavaScript-də bayraqlarla işləmək

İndi biz bayraqlarla işləməyi öyrənəcəyik. Bayraq - yalnız iki dəyər qəbul edə bilən xüsusi dəyişəndir: truefalse. Bayraqların köməyi ilə bir şeyin olmamasını yoxlayan məsələləri həll etmək olar: məsələn, massivdə müəyyən dəyəri olan elementin olmadığını yoxlamaq olar. Gəlin başlayaq.

Gəlin aşağıdakı məsələni həll edək: ədədlərdən ibarət massiv verilib, onun içində 3 dəyəri olan elementin olub-olmadığını yoxlamaq lazımdır. Əgər varsa - '+++' çap edək, yoxdursa - '---' çap edək.

Əvvəlcə '+++' çap etməyə çalışaq. Bunun üçün massivimizin bütün elementlərini gəzəcəyik və if ilə soruşacağıq - cari element 3 dəyərinə bərabərdirmi? Əgər bərabərdirsə - '+++' çap edək:

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

Lakin bizim həllimiz çox yaxşı deyil: çünki əgər massivdə bir 3 dəyəri deyil, bir neçə olarsa, onda '+++' bir neçə dəfə çap olunacaq. Gəlin massivimizi dəyişək (iki elementi 3 dəyəri ilə edək) və buna əmin olaq:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // bir neçə dəfə çap edəcək } }

Problemi düzəldək: əgər element artıq tapılıbsa, break ilə döngünü bitirək:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // döngünü bitirək } }

Gəlin indi elə edək ki, əgər massivdə ümumiyyətlə 3 dəyəri olan element yoxdursa, '---' çap olunsun. Ümumi səhv bizim if-ə else əlavə etmək olardı - bu halda '---' 3 olmayan bütün elementlər üçün çap olunacaq:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // 3-cü elementdə çap edəcək } else { console.log('---'); // 1, 2, 4, 5-ci elementlərdə çap edəcək } }

Deməli, else əlavə etmək fikri - pis fikirdir, işləməz. Bu tip məsələləri həll etmək üçün (belə məsələlər kifayət qədər tez-tez rast gəlinir) sözdə bayraqlardan istifadə edirlər.

Artıq yuxarıda qeyd olunduğu kimi, bayraq - elə bir dəyişəndir ki, iki dəyər qəbul edə bilər: true və ya false.

Deməli, gəlin flag dəyişəni edək belə bir məna ilə: əgər o true-a bərabərdirsə, onda massivdə 3 elementi var, əgər false-dırsa, onda belə element yoxdur.

Əvvəlcə flag dəyişənini false dəyərinə qoyaq - yəni hesab edək ki, massivdə 3 elementi yoxdur:

let arr = [1, 2, 3, 4, 5]; let flag = false; // hesab edirik ki, massivdə 3 elementi yoxdur

Sonra döngüni if ilə elə işə salaq ki, biz bunu əvvəllər etdiyimiz kimi. Əgər döngü aşkar edərsə ki, massivdə 3 elementi var - onda flag dəyişənini true dəyərinə qoyaq və döngüdən break ilə çıxaq:

let arr = [1, 2, 3, 4, 5]; let flag = false; // hesab edirik ki, massivdə 3 elementi yoxdur for (let elem of arr) { if (elem == 3) { flag = true; // element var - flag dəyişənini yenidən təyin edək break; // döngüdən çıxaq } }

Massivdə 3 olub-olmadığı sualına cavabı biz ancaq döngüdən sonra verə bilərik. Və bu cavab artıq bizdə var: döngüdən sonra flag dəyişəni false olaraq qala bilər ya da dəyərini true olaraq dəyişə bilər, əgər döngü massivdə 3 aşkar etdisə:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // burada flag dəyişəni ya true, ya da false-ə bərabərdir

İndi döngüdən sonra biz if edə bilərik ki, flag dəyişəninə baxsın və ekranda '+++' və ya '---' çap etsin:

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('---'); }

Massiv verilib:

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

Yoxlayın ki, bu massivdə 'c' elementi varmı? Əgər varsa - '+++' çap edin, yoxdursa - '---' çap edin.

Ədədin sadə olub-olmadığını yoxlayan kod yazın. Sadiə ədəd ancaq birə və özünə bölünür, digər ədədlərə bölünmür.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et