আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে সংখ্যার একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে একটি একক সংখ্যা, মনে করুন num, নেয়। Num সবসময় অ্যারের দৈর্ঘ্যের চেয়ে কম বা সমান হবে।
ফাংশনটি একটি নতুন অ্যারে তৈরি করবে যাতে num সংখ্যক সাবঅ্যারে থাকবে। সব সাবঅ্যারে সমান সংখ্যক উপাদান ধারণ করবে যদি অ্যারের দৈর্ঘ্য num দ্বারা বিভাজ্য হয় অন্যথায় শুধু শেষ সাবঅ্যারেতে ভিন্ন সংখ্যক উপাদান থাকবে।
উদাহরণস্বরূপ −
ইনপুট অ্যারে এবং সংখ্যা যদি হয় −
const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const num = 3;
সুতরাং, উপরের ইনপুটের জন্য আউটপুট দেখাবে এমন −
const output = [ [1, 2, 3], [4, 5, 6], [7, 8] ];
উদাহরণ
এটির জন্য কোড হবে −
const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const num = 3; const chunkArray = (arr = [], num = 1) => { const { length: l } = arr; const elPerArr = Math.ceil(l / num); const res = arr.reduce((acc, val, ind) => { const curr = Math.floor(ind / elPerArr); if(!acc[curr]){ acc[curr] = [val]; }else{ acc[curr].push(val); } return acc; }, []); return res; }; console.log(chunkArray(arr, num));আউটপুট
কনসোলে আউটপুট হবে −
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ]