menu

Pengendalian Flag dalam JavaScript

Sekarang kita akan belajar mengendalikan flag. Flag ialah pembolehubah khas, yang hanya boleh menerima dua nilai: true dan false. Dengan menggunakan flag, kita boleh menyelesaikan masalah yang menyemak ketiadaan sesuatu: contohnya, kita boleh menyemak sama ada dalam array tiada elemen dengan nilai tertentu. Mari kita mulakan.

Mari selesaikan masalah berikut: diberi array dengan nombor, perlu disemak sama ada ia mengandungi elemen dengan nilai 3 atau tidak. Jika ada - paparkan '+++', jika tidak - paparkan '---'.

Sebagai permulaan, mari cuba paparkan '+++'. Untuk itu, kita akan ulangi semua elemen array kita dan dengan *if* akan bertanya - adakah elemen semasa sama dengan nilai 3. Jika sama - paparkan '+++':

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

Tetapi penyelesaian kita tidak begitu baik: kerana jika dalam array bukan hanya satu nilai 3, tetapi beberapa, maka '+++' akan dipaparkan beberapa kali. Mari betulkan array kita (buat dua elemen dengan nilai 3) dan pastikannya:

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

Mari betulkan masalah: hentikan gelung dengan break, jika elemen sudah ditemui:

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

Sekarang mari cuba buat supaya, jika dalam array langsung tiada elemen dengan nilai 3, dipaparkan '---'. Kesilapan biasa ialah menambah else kepada *if* kita - dalam kes ini '---' akan dipaparkan untuk semua elemen yang bukan 3:

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

Jadi, idea untuk menambah else - adalah idea yang tidak baik, tidak berfungsi. Untuk menyelesaikan masalah jenis ini (masalah seperti ini berlaku agak kerap) yang dipanggil flag digunakan.

Seperti yang disebut di atas, flag ialah pembolehubah sedemikian, yang boleh menerima dua nilai: true atau false.

Jadi, mari buat pembolehubah flag dengan nilai sedemikian: jika ia sama dengan true, maka dalam array ada elemen 3, dan jika false, maka tiada elemen sedemikian.

Pada mulanya, letakkan pembolehubah flag kepada nilai false - iaitu kita akan menganggap bahawa elemen 3 tiada dalam array:

let arr = [1, 2, 3, 4, 5]; let flag = false; // kami anggap tiada elemen 3 dalam array

Kemudian jalankan gelung dengan *if* seperti yang kita lakukan sebelum ini. Jika gelung mengesan bahawa dalam array ada elemen 3 - maka letakkan pembolehubah flag kepada nilai true dan keluar dari gelung dengan break:

let arr = [1, 2, 3, 4, 5]; let flag = false; // kami anggap tiada elemen 3 dalam array for (let elem of arr) { if (elem == 3) { flag = true; // elemen ada - takrif semula pembolehubah flag break; // keluar dari gelung } }

Jawapan kepada soalan, adakah dalam array 3 atau tidak, kita hanya boleh berikan selepas gelung. Dan jawapan ini sudah kita ada: selepas gelung pembolehubah flag mungkin kekal false atau mungkin telah menukar nilainya kepada true, jika gelung mengesan 3 dalam array:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // di sini pembolehubah flag sama dengan true atau false

Sekarang selepas gelung, kita boleh buat *if*, yang akan melihat pembolehubah flag dan memaparkan pada skrin '+++' atau '---':

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

Diberi array:

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

Semak, sama ada dalam array ini ada elemen 'c'. Jika ada - paparkan '+++', dan jika tidak - paparkan '---'.

Tulis kod yang akan menyemak sama ada nombor itu perdana atau tidak. Nombor perdana hanya boleh dibahagi dengan satu dan dengan dirinya sendiri, dan tidak boleh dibahagi dengan nombor lain.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak