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

ลดผลรวมหลักตัวเลขแบบเวียนเกิดจนเหลือหลักเดียวใน JavaScript


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

โค้ดสำหรับนี้ตรงไปตรงมา เราเขียนฟังก์ชันเวียนเกิดที่บวกหลักต่อเนื่องจนตัวเลขมากกว่า 9 หรือน้อยกว่า -9 (เราจะจัดการเครื่องหมายแยกต่างหากเพื่อไม่ต้องเขียนตรรกะสองครั้ง)

ตัวอย่าง

const sumRecursively = (n, isNegative = n < 0) => {    n = Math.abs(n);    if(n > 9){       return sumRecursively(parseInt(String(n).split("").reduce((acc,val) => {          return acc + +val;       }, 0)), isNegative);    }    return !isNegative ? n : n*-1; }; console.log(sumRecursively(88)); console.log(sumRecursively(18)); console.log(sumRecursively(-345)); console.log(sumRecursively(6565));

ผลลัพธ์

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

7 9 -3 4