⊗jsPmLpFl 165 of 505 menu

Kufanya Kazi na Bendera katika JavaScript

Sasa tutajifunza kufanya kazi na bendera. Bendera ni tofauti maalum ambayo inaweza kuchukua thamani mbili tu: true na false. Kwa kutumia bendera zinaweza kutatuliwa kazi zinazohitimu kutokuwepo kwa kitu fulani: kwa mfano, inaweza kuhitimuwa, kwamba kwenye safu hakuna kipengele chenye thamani maalum. Twende zake.

Wacha tutatue kazi ifuatayo: imetolewa safu ya nambari, inahitajika kuhitimu, ipo ndani yake kipengele chenye thamani 3 au la. Kama ipo - tutaandika '+++', kama haipo - tutaandika '---'.

Kwa mara ya kwanza wacha tujaribu kuandika '+++'. Kwa hili tutapitia vipengele vyote vya safu yetu na kwa "if" tutauliza - je, kipengele cha sasa ni sawa na thamani 3? Kama ni sawa - tutaandika '+++':

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

Lakini ufumbuzi wetu sio mzuri sana: maana kama kwenye safu kutakuwa sio thamani moja 3, lakini kadhaa, basi '+++' itaandikwa mara kadhaa. Wacha tusahihishe safu yetu (tufanye vipengele viwili chenye thamani 3) na tukae hakika na jambo hili:

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

Wacha tusahihishe tatizo: tutamaliza kitanzi kwa kutumia break, ikiwa kipengele tayari kimepatikana:

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

Sasa wacha tujaribu kufanya hivi, ili, kama kwenye safu hakuna kabisa vipengele chenye thamani 3, iandikwe '---'. Hitilafu ya kawaida itakuwa kuongeza else kwa "if" yetu - kwa hali hii '---' itaandikwa kwa vipengele vyote visivyo 3:

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

Kwa hiyo, wazo la kuongeza else - ni wazo baya, halifanyi kazi. Kwa ajili ya kutatua kazi za aina hii (kazi kama hizi hukutana mara kwa mara) hutumiwa kinachojulikana kama bendera.

Kama tayari ilitajwa hapo juu, bendera ni tofauti kama hiyo, ambayo inaweza kuchukua thamani mbili: true au false.

Basi, wacha tufanye tofauti flag na thamani kama hii: ikiwa ni sawa na true, basi kwenye safu kuna kipengele 3, na ikiwa false, basi hakuna kipengele kama hicho.

Mwanzoni wacha tuweke tofauti flag kuwa na thamani false - yaani tutachukulia, kwamba hakuna kipengele 3 kwenye safu:

let arr = [1, 2, 3, 4, 5]; let flag = false; // tunachukulia kwamba hakuna kipengele 3 kwenye safu

Kisha tutaanzisha kitanzi na "if" kama tulivyofanya hayo mapema. Kama kitanzi kitagundua kuwa kwenye safu kuna kipengele 3 - basi tunaweka tofauti flag kuwa na thamani true na tutatoka kwenye kitanzi kwa kutumia break:

let arr = [1, 2, 3, 4, 5]; let flag = false; // tunachukulia kwamba hakuna kipengele 3 kwenye safu for (let elem of arr) { if (elem == 3) { flag = true; // kipengele kipo - tutabadilisha thamani ya tofauti flag break; // tutaondoka kwenye kitanzi } }

Jibu la swali, ikiwa kwenye safu kuna 3 au la, tunaweza kutoa tu baada ya kitanzi. Na jibu hili tayari tunalo: baada ya kitanzi tofauti flag inaweza kubaki false au inaweza kubadilisha thamani yake kuwa true, ikiwa kitanzi kiligundua kwenye safu kuna 3:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // hapa tofauti flag ni sawa na true, au false

Sasa baada ya kitanzi tunaweza kufanya "if", ambao utaangalia tofauti flag na utaandika ekranini '+++' au '---':

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

Imetolewa safu:

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

Hitimu, kwamba kwenye safu hii kuna kipengele 'c'. Kama kuna - andika '+++', na kama hakuna - andika '---'.

Andika code, ambayo itahitimu nambari kwa kuwa, ni rahisi au la. Nambari rahisi inagawanyika tu kwa moja na kwa yenyewe, na haigawanyiki kwa nambari nyingine.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa