⊗jsPmLpFl 165 of 505 menu

Werk met vlae in JavaScript

Nou sal ons leer hoe om met vlae te werk. 'n Vlag is 'n spesiale veranderlike wat slegs twee waardes kan aanneem: true en false. Met behulp van vlae kan jy probleme oplos wat die afwesigheid van iets nagaan: byvoorbeeld, jy kan nagaan of 'n array geen element met 'n sekere waarde het nie. Kom ons begin.

Kom ons los die volgende probleem op: gegee 'n array met getalle, ons moet nagaan of dit 'n element met die waarde 3 bevat of nie. Indien wel, druk ons '+++' uit, indien nie, druk ons '---' uit.

Laat ons eers probeer om '+++' uit te druk. Om dit te doen, gaan ons deur al die elemente van ons array en met 'n if-stelling sal ons vra: is die huidige element gelyk aan die waarde 3? As dit gelyk is, druk ons '+++' uit:

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

Maar ons oplossing is nie baie goed nie: want as daar in die array nie een waarde 3 is nie, maar verskeie, dan sal '+++' verskeie kere uitgedruk word. Kom ons wysig ons array (maak twee elemente met waarde 3) en oortuig onsself hiervan:

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

Kom ons los die probleem op: beëindig die lus met break as die element reeds gevind is:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // beëindig die lus } }

Laat ons nou probeer om dit so te maak dat, as daar glad geen elemente met die waarde 3 in die array is nie, '---' uitgedruk word. 'n Algemene misverstand sou wees om else by ons if-stelling te voeg - in hierdie geval sal '---' uitgedruk word vir alle elemente wat nie 3 is nie:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // sal by element 3 uitdruk } else { console.log('---'); // sal by elemente 1, 2, 4, 5 uitdruk } }

So, die idee om else by te voeg - is 'n slegte idee, dit werk nie. Om probleme van hierdie tipe op te los (sulke probleme kom redelik gereed voor) gebruik mens sogenaamde vlae.

Soos reeds hierbo genoem, is 'n vlag 'n soort veranderlike wat twee waardes kan aanneem: true of false.

So, kom ons maak 'n veranderlike flag met so 'n betekenis: as dit gelyk is aan true, dan bevat die array die element 3, en as dit false is, dan is daar geen so 'n element nie.

Aanvanklik stel ons die veranderlike flag op die waarde false - dit wil sê ons sal aanneem dat daar geen element 3 in die array is nie:

let arr = [1, 2, 3, 4, 5]; let flag = false; // ons aanneem element 3 is nie in die array nie

Daarna sal ons 'n lus begin met 'n if-stelling soos ons dit vroeër gedoen het. As die lus ontdek dat die array die element 3 bevat - dan sal ons die veranderlike flag op die waarde true stel en uit die lus breek met behulp van break:

let arr = [1, 2, 3, 4, 5]; let flag = false; // ons aanneem element 3 is nie in die array nie for (let elem of arr) { if (elem == 3) { flag = true; // element is daar - herdefinieer die veranderlike flag break; // breek uit die lus } }

Die antwoord op die vraag, of daar 3 in die array is of nie, kan ons slegs ná die lus gee. En hierdie antwoord het ons reeds: ná die lus kon die veranderlike flag steeds false gebly het of kon sy waarde na true verander het, as die lus 3 in die array ontdek het:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // hier is die veranderlike flag gelyk aan óf true, óf false

Nou kan ons ná die lus 'n if-stelling maak wat na die veranderlike flag sal kyk en '+++' of '---' op die skerm sal druk:

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

Gegee die volgende array:

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

Gaan na of hierdie array die element 'c' bevat. Indien wel, druk '+++' uit, en indien nie, druk '---' uit.

Skryf kode wat sal nagaan of 'n getal 'n priemgetal is of nie. 'n Priemgetal is slegs deelbaar deur een en deur homself, en is nie deelbaar deur ander getalle nie.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp