จะหยุด JavaScript สำหรับแต่ละรายการได้อย่างไร

Ca Hyud Javascript Sahrab Taela Raykar Di Xyangri



การวนซ้ำเป็นโครงสร้างการควบคุมที่สำคัญในการเขียนโปรแกรม เนื่องจากทำให้คุณสามารถเรียกใช้บล็อกของโค้ดได้หลายครั้ง อย่างไรก็ตาม สิ่งสำคัญคือต้องหยุดการวนซ้ำในบางจุด มิฉะนั้น มันจะทำงานต่อไปอย่างไม่มีกำหนด สิ่งนี้สามารถนำไปสู่ปัญหา เช่น การใช้ทรัพยากรที่มีในคอมพิวเตอร์หรือทำให้โปรแกรมหยุดทำงาน

บทความนี้จะอธิบายขั้นตอนการหยุดการวนรอบ forEach ใน JavaScript

จะหยุด JavaScript สำหรับแต่ละรายการได้อย่างไร

ขึ้นอยู่กับความต้องการเฉพาะของโปรแกรม มีหลายวิธีในการหยุดการวนซ้ำในการเขียนโปรแกรม ตัวอย่างเช่น คุณอาจใช้เงื่อนไขการสิ้นสุดลูปหรือคำสั่งพัก เช่น “ หยุดพัก ” หรือ “ ทางออก ” เพื่อหยุดการวนซ้ำเมื่อตรงตามเงื่อนไขที่กำหนด อย่างไรก็ตาม ปัญหาก็คือ “ แต่ละ ” วนซ้ำแสดงข้อผิดพลาดขณะใช้คำสั่งเหล่านี้







ตัวอย่างที่ 1: ใช้ “break” ในแต่ละลูปของ JavaScript

ลองหยุด ' แต่ละ ” วนซ้ำโดยใช้ปุ่ม “ หยุดพัก ' คำให้การ. ขั้นแรก สร้างอาร์เรย์ของเลขคี่:



เป็นอาร์เรย์ = [ หนึ่ง , 3 , 5 , 7 , 9 , สิบเอ็ด , 13 , สิบห้า ] ;

ใช้ forEach วนซ้ำเพื่อวนซ้ำอาร์เรย์ หากองค์ประกอบ “ 5 ” เกิดขึ้นในอาร์เรย์ระหว่างการวนซ้ำ หยุดการวนซ้ำ:



อาร์เรย์ แต่ละ ( องค์ประกอบ => {

ถ้า ( องค์ประกอบ == 5 ) {

หยุดพัก ;

}

} ) ;

จะเห็นได้ว่าคำสั่ง break ไม่ทำงานใน forEach ลูป:





ตัวอย่างที่ 2: ใช้ “EXIT” ใน forEach JavaScript Loop

พยายามหยุดการวนซ้ำโดยใช้ “ ทางออก ” เมื่อองค์ประกอบ “ 5 ” เกิดขึ้นในอาร์เรย์ระหว่างการวนซ้ำ:



อาร์เรย์ แต่ละ ( องค์ประกอบ => {

ถ้า ( องค์ประกอบ == 5 ) {

ทางออก ;

}

} ) ;

นอกจากนี้ยังทำให้เกิดข้อผิดพลาด:

การหยุดการวนซ้ำ forEach() ดูเหมือนจะเป็นเรื่องที่เป็นไปไม่ได้ แต่นี่คือวิธีแก้ไขสองสามข้อในการประเมิน:

วิธีที่ 1: หยุด JavaScript สำหรับแต่ละรายการโดยใช้บล็อก “ลอง/จับ”

ไม่มีวิธีในตัวที่จะหยุดหรือทำลายการวนซ้ำ forEach() ใน JavaScript อย่างไรก็ตาม คุณสามารถบรรลุผลที่คล้ายกันได้โดยการโยนข้อยกเว้นและดักจับมันภายในลูป ในการดำเนินการนี้ ให้ใช้ปุ่ม “ ลอง / จับ ' บล็อก. เป็นโครงสร้างการควบคุมที่ให้คุณจัดการข้อยกเว้นหรือข้อผิดพลาดรันไทม์ที่อาจเกิดขึ้นในโค้ด รหัสที่อาจทำให้เกิดข้อยกเว้นอยู่ใน ' ลอง ” บล็อก ในขณะที่รหัสที่จัดการข้อยกเว้นมีอยู่ใน “ จับ ' บล็อก.

ไวยากรณ์

ใช้ไวยากรณ์ที่กำหนดด้านล่างสำหรับการใช้บล็อก try/catch:

ลอง {

// รหัสที่อาจส่งข้อยกเว้น

} จับ ( ข้อผิดพลาด ) {

// รหัสสำหรับจัดการกับข้อยกเว้น

}

ตัวอย่าง

ล้อมรหัสลูป forEach() ในบล็อก try/catch เพื่อหยุดการวนซ้ำโดยจัดการข้อผิดพลาด:

ลอง {

อาร์เรย์ แต่ละ ( องค์ประกอบ => {

ถ้า ( องค์ประกอบ == 5 ) {

โยน ใหม่ ข้อยกเว้น ( 'หยุด' ) ;

}

} ) ;

} จับ ( และ ) {

คอนโซล บันทึก ( 'ลูปสิ้นสุด' ) ;

}

ในตัวอย่างโค้ดข้างต้น เมื่อมีการส่งข้อยกเว้นภายในบล็อก try โปรแกรมจะข้ามไปที่บล็อก catch ทันทีและรันโค้ดที่นั่น สิ่งนี้ทำให้เราสามารถจัดการข้อยกเว้นและป้องกันโปรแกรมจากการหยุดทำงาน

เอาต์พุต

โดยทั่วไปไม่แนะนำให้ใช้บล็อก try/catch เพื่อหยุดการวนซ้ำ forEach() ใน JavaScript นี่เป็นเพราะจุดประสงค์ของบล็อก try/catch คือการจัดการข้อยกเว้นมากกว่าที่จะควบคุมการไหลของลูป ดังนั้นจึงเป็นการดีกว่าที่จะใช้วิธีอื่น

วิธีที่ 2: ใช้ลูป 'for' ใน JavaScript

ใช้ ' สำหรับ ” วนซ้ำแทน forEach() วนซ้ำ คำสั่ง break ใช้ใน for loop ซึ่งอนุญาตให้ออกก่อนกำหนดก่อนที่จะถึงเงื่อนไขการสิ้นสุดของลูป สิ่งนี้มีประโยชน์หากคุณต้องการหยุดการวนซ้ำเมื่อเงื่อนไขบางอย่างได้รับการประเมินเป็น ' จริง ” หรือออกจากลูปด้วยเหตุผลอื่นใด

ไวยากรณ์

ทำตามไวยากรณ์ต่อไปนี้สำหรับการใช้ ' สำหรับ ” วนซ้ำ:

สำหรับ ( ปล่อยให้ฉัน = 0 ; ผม < อาร์เรย์ ความยาว ; ผม ++ ) {

//สภาพ

หยุดพัก ;

}

ตัวอย่าง

ใช้ ' สำหรับ ” วนซ้ำอาร์เรย์จนสุดความยาวและหยุดอาร์เรย์ในขณะที่เกิดอิลิเมนต์ “ 5 ” ในอาร์เรย์:

สำหรับ ( ปล่อยให้ฉัน = 0 ; ผม < อาร์เรย์ ความยาว ; ผม ++ ) {

คอสต์ องค์ประกอบ = อาร์เรย์ [ ผม ] ;

ถ้า ( องค์ประกอบ == 5 ) {

หยุดพัก

}

คอนโซล บันทึก ( องค์ประกอบ ) ;

}

การวนซ้ำจะหยุดเมื่อ “ 5 ” ปรากฏในอาร์เรย์:

วิธีที่ 3: ใช้ลูป 'for-of' ใน JavaScript

คุณยังสามารถใช้ปุ่ม “ สำหรับของ ” วนซ้ำแทน forEach() วนซ้ำ ใช้เพื่อวนซ้ำองค์ประกอบของวัตถุที่วนซ้ำได้ เช่น อาร์เรย์หรือสตริง มันคล้ายกับ for-in loop แต่ได้รับการออกแบบมาโดยเฉพาะเพื่อทำงานกับวัตถุที่วนซ้ำได้ และโดยทั่วไปถือว่ากระชับกว่าและอ่านง่ายกว่า

ไวยากรณ์

ไวยากรณ์ต่อไปนี้ใช้สำหรับ for-of loop:

สำหรับ ( คอสต์ องค์ประกอบของอาร์เรย์ ) {

//สภาพ

หยุดพัก ;

}

ตัวอย่าง

ที่นี่ใช้ for-of loop เพื่อวนซ้ำอาร์เรย์และหยุดการวนซ้ำเมื่อองค์ประกอบ “ 5 ” ปรากฏในอาร์เรย์ระหว่างการวนซ้ำ:

สำหรับ ( คอสต์ องค์ประกอบของอาร์เรย์ ) {

ถ้า ( องค์ประกอบ == 5 ) {

หยุดพัก ;

}

คอนโซล บันทึก ( องค์ประกอบ ) ;

}

เอาต์พุต

นั่นคือทั้งหมดที่เกี่ยวกับการหยุดลูป forEach() ใน JavaScript

บทสรุป

ไม่มีวิธีในตัวที่จะหยุดหรือทำลายการวนซ้ำ forEach() ใน JavaScript แต่คุณสามารถบรรลุผลที่คล้ายกันได้โดยใช้ ' ลอง / จับ” บล็อก. อย่างไรก็ตาม ไม่แนะนำให้ใช้เพราะบล็อก try/catch มีไว้เพื่อจัดการกับข้อยกเว้นมากกว่าที่จะควบคุมโฟลว์ของลูป ดังนั้นแนวทางที่เหมาะสมคือการใช้วิธีอื่น เช่น “ สำหรับ ” หรือ “ สำหรับของ ” วนซ้ำ ในบทความนี้ เราได้อธิบายขั้นตอนการหยุดการวนซ้ำ forEach() ใน JavaScript