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

การรวมเลขหลักของตัวเลขจนเหลือหลักเดียว (Destructive Sum) ใน JavaScript

เราต้องเขียนฟังก์ชันที่รับตัวเลขและรวมเลขหลักของมันซ้ำๆ จนได้ผลลัพธ์เป็นตัวเลขหลักเดียว

ตัวอย่าง: 54564567 → 5+4+5+6+4+5+6+7 = 42 → 4+2 = 6 ผลลัพธ์คือ 6

ตัวอย่างโค้ด

const num = 54564567;

const sumDigits = (num, sum = 0) => {
  if (num) {
    return sumDigits(Math.floor(num / 10), sum + (num % 10));
  }
  return sum;
};

const sumDestructively = (num) => {
  let sum = num;
  while (sum > 9) {
    sum = sumDigits(sum);
  }
  return sum;
};

console.log(sumDestructively(num));

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

6