Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

รวมตัวเลขทุกหลักของตัวเลขแบบ Recursive ใน JavaScript

สมมติว่าเราต้องสร้างฟังก์ชันที่รับตัวเลขและหาผลรวมของหลักๆ แบบ recursive จนกว่าผลรวมจะเป็นตัวเลขหลักเดียว

เช่น

findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6

ผลลัพธ์ควรเป็น 6

เขียนโค้ดฟังก์ชัน findSum()

ตัวอย่าง

// ใช้ 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 หรือไม่ ถ้าใช่ แสดงว่า minified แล้ว ควรคืนค่าและออกจากฟังก์ชัน มิฉะนั้น ควรคืนการเรียกฟังก์ชันที่ recursive หยิบหลักสุดท้ายจากตัวเลข บวกเข้าไปจนกว่าจะน้อยกว่า 10

ผลลัพธ์

ผลลัพธ์ของโค้ดนี้จะเป็น

3