আমাদের কাছে একটি নম্বর লিটারেলের অ্যারে আছে, এবং আমাদের একটি ফাংশন লিখতে হবে, যেনাম splitDigit(), যা এই অ্যারেটি গ্রহণ করবে এবং একটি নম্বরের অ্যারে রিটার্ন করবে যেখানে 10-র চেয়ে বড় নম্বরগুলো সিঙ্গেল ডিজিটে ভাগ করা থাকবে।
উদাহরণস্বরূপ:
//যদি ইনপুট হয়: const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ] //তবে আউটপুট হবে: const output = [ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6 ];
তাহলে, এই ফাংশনের কোড লিখি, আমরা Array.prototype.reduce() মেথড ব্যবহার করব নম্বরগুলো ভাগ করার জন্য।
উদাহরণ
const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ] const splitNum = (n, res = []) => { if(n){ return splitNum(Math.floor(n/10), [n % 10].concat(res)); }; return res; }; const splitDigit = (arr) => { return arr.reduce((acc, val) => acc.concat(splitNum(val)), []); }; console.log(splitDigit(arr));আউটপুট
কনসোলে আউটপুট হবে:
[ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6 ]