⊗jsPmLpFl 165 of 505 menu

JavaScript-da bayroqlar bilan ishlash

Hozir biz bayroqlar bilan ishlashni o'rganamiz. Bayroq - bu faqat ikkita qiymat qabul qiladigan maxsus o'zgaruvchi: true va false. Bayroqlar yordamida ma'lum bir narsaning yo'qligini tekshiradigan masalalarni yechish mumkin: masalan, massivda ma'lum qiymatga ega element yo'qligini tekshirish mumkin. Keling, boshlaymiz.

Keling, quyidagi masalani yechamiz: sonlar massivi berilgan, unda 3 qiymatiga ega element bormi yo'qmi tekshirish kerak. Agar bo'lsa - '+++' chiqaramiz, yo'q bo'lsa - '---' chiqaramiz.

Boshlash uchun keling, '+++' ni chiqarishga harakat qilaylik. Buning uchun massivning barcha elementlarini aylanamiz va agar bilan so'raymiz - joriy element 3 qiymatiga tengmi. Agar teng bo'lsa - '+++' ni chiqaramiz:

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

Ammo bizning yechimimiz unchali yaxshi emas: agar massivda bitta 3 qiymati bo'lmasa, balki bir nechta bo'lsa, '+++' bir necha marta chiqadi. Keling, massivni o'zgartiramiz (ikki ta 3 qiymatiga ega element qilamiz) va bunga ishonch hosil qilamiz:

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

Muammoni tuzatamiz: agar element topilgan bo'lsa, break yordamida siklni tugatamiz:

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

Keling, endi massivda umuman 3 qiymatiga ega element bo'lmasa, '---' chiqadigan qilishga harakat qilaylik. Keng tarqalgan xato - bizning if ga else qo'shish - bunda '---' 3 bo'lmagan barcha elementlar uchun chiqadi:

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

Shunday qilib, else qo'shish g'oyasi - yomon g'oya, ishlamaydi. Shu kabi masalalarni yechish uchun (bunday masalalar etarlicha tez-tez uchraydi) bayroq deb ataladigan narsalardan foydalaniladi.

Yuqorida aytib o'tilganidek, bayroq - bu shunday o'zgaruvchiki, ikkita qiymat qabul qiladi: true yoki false.

Shunday qilib, keling, flag o'zgaruvchisini yarataylik quyidagi qiymat bilan: agar u true ga teng bo'lsa, demak massivda 3 elementi bor, agar false bo'lsa, demak bunday element yo'q.

Boshlang'ichda flag o'zgaruvchisini false qiymatiga o'rnatamiz - ya'ni massivda 3 elementi yo'q deb hisoblaymiz:

let arr = [1, 2, 3, 4, 5]; let flag = false; // massivda 3 elementi yo'q deb hisoblaymiz

Keyin ilgari qilganimizdek siklni ishga tushiramiz. Agar sikl massivda 3 elementi borligini aniqlasa - flag o'zgaruvchisini true qiymatiga o'rnatamiz va break yordamida siklndan chiqamiz:

let arr = [1, 2, 3, 4, 5]; let flag = false; // massivda 3 elementi yo'q deb hisoblaymiz for (let elem of arr) { if (elem == 3) { flag = true; // element bor - flag o'zgaruvchisini qayta o'rnatamiz break; // siklndan chiqamiz } }

Massivda 3 bormi yo'qmi degan savolga javobni faqat sikl tugagandan keyin bera olamiz. Va bu javob bizda allaqachon bor: sikl tugagandan keyin flag o'zgaruvchisi false da qolishi mumkin yoki agar sikl massivda 3 borligini anqilagan bo'lsa true qiymatiga o'zgarishi mumkin:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // bu yerda flag o'zgaruvchisi true yoki false ga teng

Endi sikl tugagandan keyin biz if yasashimiz mumkin, u flag o'zgaruvchisiga qaraydi va ekranga '+++' yoki '---' ni chiqaradi:

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 berilgan:

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

Ushbu massivda 'c' elementi bormi yo'qmi tekshiring. Agar bo'lsa - '+++' ni chiqaring, yo'q bo'lsa - '---' ni chiqaring.

Sonning tub yoki tub emasligini tekshiradigan kod yozing. Tub son faqat bitta va o'ziga qoldiqsiz bo'linadi, boshqa sonlarga bo'linmaydi.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish