เราจำเป็นต้องสร้างฟังก์ชันที่ใช้ตัวเลขและหาผลรวมของตัวเลขซ้ำๆ จนกว่าผลรวมจะเป็นตัวเลขหนึ่งหลัก
ตัวอย่าง
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