মান লিজিয়ে, আমাদের একটি ফাংশন লিখতে হবে যা একটি নম্বরের অ্যারে এবং একটি নম্বর n গ্রহণ করবে, যেখানে n >= অ্যারেতে যেকোনো নম্বর। ফাংশনটি অ্যারেটিকে সাব-অ্যারেতে ভাগ করবে যদি কনসিকিউটিভ এলিমেন্টগুলোর সমষ্টি নম্বর n-কে অতিক্রম করে।
উদাহরণস্বরূপ:
// যদি মূল অ্যারে হয়: const arr = [2, 1, 2, 1, 1, 1, 1, 1]; // এবং নম্বর n হলো ৪ // তখন আউটপুট অ্যারে হবে: const output = [ [ 2, 1 ], [ 2, 1, 1 ], [ 1, 1, 1 ] ];
এই ফাংশনের কোড লিখি:
উদাহরণ
const arr = [2, 1, 2, 1, 1, 1, 1, 1]; const splitArray = (arr, num) => { return arr.reduce((acc, val, ind) => { let { sum, res } = acc; if(ind === 0){ return {sum: val, res:[[val]]}; }; if(sum + val <= num){ res[res.length-1].push(val); sum +=val; }else{ res.push([val]); sum = val; }; return { sum, res }; }, { sum: 0, res: [] }).res; }; console.log(splitArray(arr, 4)); console.log(splitArray(arr, 5));আউটপুট
কনসোলে আউটপুট হবে:
[ [ 2, 1 ], [ 2, 1, 1 ], [ 1, 1, 1 ] ] [ [ 2, 1, 2 ], [ 1, 1, 1, 1, 1 ] ]