আমাদের একটি ফাংশন লিখতে হবে যা একটি নাম্বার নিবে এবং এর ডিজিটগুলো যোগ করতে থাকবে যতক্ষণ না রেজাল্ট এক ডিজিটের হয়ে যায়, এক ডিজিট পাওয়া গেলে সেটি রিটার্ন করবে।
এই কাজের কোড খুব সহজ, আমরা একটি রিকার্সিভ ফাংশন লিখব যা ডিজিট যোগ করতে থাকবে যতক্ষণ না নাম্বার ৯ এর চেয়ে বড় বা -৯ এর চেয়ে ছোট হয় (সাইন আলাদাভাবে হ্যান্ডেল করব যাতে লজিক দুবার লিখতে না হয়)।
উদাহরণ
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