การเรียกซ้ำคืออะไร?
ใน JS และโดยทั่วไปแล้ว ฟังก์ชันแบบเรียกซ้ำคือ** ฟังก์ชันที่เรียกตัวเอง **ยกตัวอย่าง มาดูการใช้ฟังก์ชันแบบเรียกซ้ำในการคำนวณแฟกทอเรียลของตัวเลข n (แฟกทอเรียลเป็นผลคูณของจำนวนเต็มบวกที่มีจำนวนเต็มน้อยกว่านั้น เช่น 4! = 4x3x2x1 = 24)
ฟังก์ชันที่คำนวณแฟกทอเรียลของจำนวน n โดยการเรียกฟังก์ชันแบบเรียกซ้ำภายในตัวมันเอง (หมายเหตุ: ฟังก์ชันของฉันจะดีขึ้นหากทดสอบอาร์กิวเมนต์ที่เป็นค่าลบหรือไม่ใช่จำนวนเต็ม)
ในฟังก์ชันด้านบน คำสั่ง return มี ternary (เช่น |_+_|) ซึ่งถ้าตัวเลขไม่เท่ากับหนึ่ง จะคูณอาร์กิวเมนต์ (n) ด้วยค่าส่งคืนของ _the ฟังก์ชันเดียวกัน _แต่ถูกเรียกด้วย อาร์กิวเมนต์ |_+_| คือน้อยกว่าต้นฉบับ แน่นอน การเรียกใช้ฟังก์ชันที่ 2 นี้จะทำเช่นเดียวกันกับการเรียกครั้งที่ 3 และการเรียกครั้งถัดไปก็เหมือนเดิม ไปเรื่อยๆ จนกว่าอาร์กิวเมนต์ที่ผ่านไปจะเท่ากับ 1 และในกรณีนี้ จะส่งกลับหมายเลข 1 แทน ดังนั้น ถ้า |_+_| ตัวอย่างเช่น คำสั่งส่งคืนของเราจะถูกประเมินเป็น |_+_| ในท้ายที่สุด เพิ่มเติมเกี่ยวกับวิธีการส่งคืน 'ซ้อน' เหล่านี้ในตัวอย่างการย้อนกลับสตริงด้านล่าง
หลีกเลี่ยงลูปอนันต์
คุณจะสังเกตเห็นว่าในตัวอย่างข้างต้น เรามี 'เงื่อนไขการหลบหนี' สำหรับการเรียกซ้ำของเรา (อาร์กิวเมนต์ของ factorial() ในที่สุดจะ |_+_|1) คล้ายกับลูป (เช่น |_+_|ลูป) เงื่อนไข Escape เป็นข้อกำหนดสำหรับฟังก์ชันแบบเรียกซ้ำทั้งหมด!
การใช้การเรียกซ้ำเพื่อทำซ้ำ while Loop
การจำลองการทำงานของในขณะที่ (x ≥ 5) {x++} วนซ้ำโดยใช้การเรียกซ้ำ เอาต์พุตคอนโซลอยู่ทางด้านขวา
ด้านบนจะเห็นว่าการทำงานของ |_+_| . ของ JS ลูปสามารถทำซ้ำได้โดยใช้การเรียกซ้ำ แม้ว่าฉันจะไม่รู้ข้อดีของการทำเช่นนี้ แต่ก็น่าสนใจ
ย้อนกลับสตริง
ฉันไม่แน่ใจว่าตัวอย่างนี้จะมีประโยชน์เพียงใดในโลกแห่งความเป็นจริง แต่แน่นอนว่าฉันถูกถามในการทดสอบเทคโนโลยี และฉันหวังว่าฉันจะรู้วิธีใช้การเรียกซ้ำเพื่อแก้ปัญหา
เช่นเดียวกับตัวอย่างแฟกทอเรียลด้านบน ตรรกะการเรียกซ้ำของเราสามารถพอดีภายในคำสั่งแบบไตรภาค ในกรณีนี้ เงื่อนไข Escape (aka 'exit') ของเราจะตรวจสอบว่าอาร์กิวเมนต์ที่ส่งผ่านไปยัง reverseString() จะเป็น |_+_| และถ้าเป็นเช่นนั้น จะเป็นสตริงว่าง |_+_| ถูกส่งกลับเป็นชนิด และการเรียกซ้ำจะหยุดลง
#beginner #javascript #web-development #recursion
medium.com
ฟังก์ชันแบบเรียกซ้ำใน JavaScript
การเรียกซ้ำคืออะไร? ใน JS และโดยทั่วไปแล้ว ฟังก์ชันแบบเรียกซ้ำคือฟังก์ชันที่เรียกตัวเอง ตัวอย่างเช่น ลองดูการใช้ฟังก์ชันแบบเรียกซ้ำในการคำนวณแฟกทอเรียลของตัวเลข n
ดูสิ่งนี้ด้วย:
- จะซื้อประกันการเงินได้อย่างไรและที่ไหน (INFI) – คำแนะนำทีละขั้นตอนง่าย ๆ
- พิมพ์ความเร็วโปรแกรม Java - คำนวณ WPM (คำต่อนาที)
- เรียนรู้ปฏิกิริยาโดยการสร้างแอปพลิเคชันอีคอมเมิร์ซด้วยส่วนประกอบคลาส
- สถิติแบบเบย์: เมโทรโพลิส-เฮสติงส์ตั้งแต่เริ่มต้นใน Python
- มาสร้างแอป MongoDB, React, Node และ Express (MERN) แบบเต็มสแต็กกันเถอะ