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