สมมติว่า เราต้องสร้างฟังก์ชันที่ใช้ตัวเลขและค้นหาผลรวมของตัวเลขซ้ำๆ จนกระทั่งผลรวมเป็นตัวเลขหนึ่งหลัก
ตัวอย่างเช่น −
findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6
ดังนั้นผลลัพธ์ควรเป็น 6.
มาเขียนโค้ดสำหรับฟังก์ชันนี้ findSum() −
ตัวอย่าง
// using recursion const findSum = (num) => { if(num < 10){ return num; } const lastDigit = num % 10; const remainingNum = Math.floor(num / 10); return findSum(lastDigit + findSum(remainingNum)); } console.log(findSum(2568));
เราตรวจสอบว่าตัวเลขน้อยกว่า 10 หรือไม่ มันถูกย่อให้เล็กสุดแล้วและเราควรส่งคืนและจากฟังก์ชัน มิฉะนั้น เราควรส่งคืนการเรียกไปยังฟังก์ชันที่เรียกซ้ำตัวเลขสุดท้ายจากตัวเลขที่เพิ่มเข้าไปจนกว่าจะน้อยกว่า 10พี>
ผลลัพธ์
ดังนั้นผลลัพธ์ของรหัสนี้จะเป็น −
3