⊗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) และตรวจสอบสิ่งนี้:

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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ