⊗jsPmLpFl 165 of 505 menu

JavaScript'те флагдар менен иштоо

Азыр биз флагдар менен иштоону үйрөнөбүз. Флаг - бул эки гана маанини кабыл ала турган атайын өзгөрмө: true жана false. Флагдарды колдонуп, бир нерсенин жок экендигин текшерүүчү маселелерди чыгара аласыз: мисалы, массивде белгилүү бир маанидеги элемент жок экендигин текшерсе болот. Келгиле, баштайлы.

Келгиле, төмөнкү маселени чыгаралы: сандардан турган массив берилген, анда 3 маанисиндеги элемент барбы же жокпу текшерүү керек. Эгер бар болсо - '+++' чыгарабыз, эгер жок болсо - '---' чыгарабыз.

Башында келгиле, '+++' чыгарабыз. Бул үчүн биздин массивибиздин бардык элементтерин айланып өтөбүз жана if менен сурабыз - учурдагы элемент 3 маанисине барабарбы. Эгер барабар болсо - '+++' чыгарабыз:

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

Бирок биздин чечимибиз өтө жакшы эмес: себеби эгер массивде бир эле 3 мааниси эмес, бир нече 3 болсо, анда '+++' бир нече жолу чыгат. Келгиле, биздин массивибизди оңдоп көрөлү (эки элементти 3 кылып) жана буга ишенейли:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // бир нече жолу чыгарат } }

Көйгөйдү оңдойлу: эгер элемент табылган болсо, break менен циклди токтотойлу:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // циклди токтотот } }

Келгиле азыр мындай кылып көрөлү: эгер массивде жалпысынан 3 маанисиндеги элементтер жок болсо, '---' чыксын. Кеңири таралган ката - else кошуу биздин if'ке - бул учурда '---' 3 эмес бардык элементтерге чыгат:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // 3 элементинде чыгат } else { console.log('---'); // 1, 2, 4, 5 элементтеринде чыгат } }

Ошентип, else кошуу идеясы - жаман идея, иштебейт. Ушул сыяктуу маселелерди чечүү үчүн (мындай маселелер көп кездешет) флаг деп аталган нерсени колдонушат.

Жогоруда айтылгандай, флаг - бул эки маанини гана кабыл ала турган өзгөрмө: true же false.

Ошентип, келгиле flag өзгөрмөсүн жазалы мындай маани менен: эгер ал true барабар болсо, массивде 3 элементи бар, ал эми эгер false болсо, анда мындай элемент жок.

Башында flag өзгөрмөсүн false маанисине коёлу - б.а. ойлойлу, 3 элементи массивде жок деп:

let arr = [1, 2, 3, 4, 5]; let flag = false; // массивибизде 3 элементи жок деп эсептейбиз

Андан кийин циклди if менен биз мурун кылгандай иштетебиз. Эгер цикл массивде 3 элементи бар экендигин тапса - анда flag өзгөрмөсүн true маанисине коёбуз жана циклден break менен чыгабыз:

let arr = [1, 2, 3, 4, 5]; let flag = false; // массивибизде 3 элементи жок деп эсептейбиз for (let elem of arr) { if (elem == 3) { flag = true; // элемент бар - flag өзгөрмөсүн кайра аныктайбыз break; // циклден чыгабыз } }

Массивде 3 барбы же жокпу деген суроого жооп, биз циклден кийин гана бере алабыз. Жана бул жооп бизде бар: циклден кийин flag өзгөрмөсү false кала берет же өз маанисин true кылып өзгөртө алат, эгер цикл массивде 3 бар экендигин тапса:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // бул жерде flag өзгөрмөсү барабар true же false

Эми циклден кийин биз if жаза алабыз, ал flag өзгөрмөсүнө карап экранга '+++' же '---' чыгарат:

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

Массив берилген:

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

Бул массивде 'c' элементи барбы же жокпу текшериңиз. Эгер бар болсо - '+++' чыгарыңыз, эгер жок болсо - '---' чыгарыңыз.

Санды жөнөкөй же жөнөкөй эмес экендигин текшерүүчү кодду жазыңыз. Жөнөкөй сан бир гана бирге жана өзүнө бөлүнөт, башка сандарга бөлүнбөйт.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу