menu

JavaScript'de Bayraklarla Çalışma

Şimdi bayraklarla nasıl çalışılacağını öğreneceğiz. Bayrak, yalnızca iki değer alabilen özel bir değişkendir: true ve false. Bayraklar kullanılarak, bir şeyin olmamasını kontrol eden problemler çözülebilir: örneğin, bir dizide belirli bir değere sahip bir elemanın olmadığını kontrol edebiliriz. Hadi başlayalım.

Şu problemi çözelim: sayılardan oluşan bir dizi veriliyor, içinde değeri 3 olan bir eleman olup olmadığını kontrol etmemiz gerekiyor. Varsa '+++' yazdıralım, yoksa '---' yazdıralım.

İlk olarak '+++' yazdırmayı deneyelim. Bunun için dizimizin tüm elemanlarını döngüyle gezelim ve bir if ile mevcut elemanın değerinin 3 olup olmadığını soralım. Eşitse '+++' yazdıralım:

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

Ancak çözümümüz pek iyi değil: çünkü eğer dizide bir tane değil de birden fazla 3 değeri varsa, '+++' birden fazla kez yazdırılacaktır. Dizimizi düzeltelim (içinde 3 değerine sahip iki eleman yapalım) ve bundan emin olalım:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // birkaç kez yazdıracak } }

Problemi düzeltelim: eğer eleman zaten bulunduysa, break ile döngüyü sonlandıralım:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // döngüyü sonlandır } }

Şimdi, eğer dizide hiç 3 değerine sahip eleman yoksa, '---' yazdırılacak şekilde yapmaya çalışalım. Yaygın bir yanlış anlama, if'imize else eklemek olacaktır - bu durumda '---', 3 olmayan tüm elemanlar için yazdırılacaktır:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // 3. elemanında yazdırır } else { console.log('---'); // 1, 2, 4, 5. elemanlarında yazdırır } }

Öyleyse, else ekleme fikri kötü ve çalışmayan bir fikirdir. Bu tür problemleri (bu tür problemler oldukça sık karşılaşılır) çözmek için sözde bayraklar kullanılır.

Daha önce de belirtildiği gibi, bayrak, yalnızca iki değer alabilen bir değişkendir: true veya false.

Öyleyse, bir flag değişkeni yapalım şu anlama gelecek şekilde: eğer true'ya eşitse, dizide 3 elemanı vardır, eğer false ise, böyle bir eleman yoktur.

Başlangıçta flag değişkenini false değerine ayarlayalım - yani dizide 3 elemanının olmadığını varsayalım:

let arr = [1, 2, 3, 4, 5]; let flag = false; // dizide 3 elemanının olmadığını varsayıyoruz

Daha sonra, daha önce yaptığımız gibi bir if ile bir döngü başlatalım. Eğer döngü dizide 3 elemanının olduğunu tespit ederse - flag değişkenini true değerine ayarlayalım ve break ile döngüden çıkalım:

let arr = [1, 2, 3, 4, 5]; let flag = false; // dizide 3 elemanının olmadığını varsayıyoruz for (let elem of arr) { if (elem == 3) { flag = true; // eleman var - flag değişkenini yeniden tanımla break; // döngüden çık } }

Dizide 3 olup olmadığı sorusunun cevabını ancak döngüden sonra verebiliriz. Ve bu cevap zaten elimizde: döngüden sonra flag değişkeni false olarak kalabilir veya eğer döngü dizide 3 bulduysa değerini true olarak değiştirmiş olabilir:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // burada flag değişkeni ya true ya da false'dur

Şimdi döngüden sonra, flag değişkenine bakan ve ekrana '+++' veya '---' yazdıran bir if yapabiliriz:

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

Bir dizi veriliyor:

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

Bu dizide 'c' elemanının olup olmadığını kontrol edin. Varsa '+++' yazdırın, yoksa '---' yazdırın.

Bir sayının asal olup olmadığını kontrol eden kodu yazın. Asal sayı yalnızca bire ve kendisine bölünür, başka sayılara bölünmez.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet