কম্পিউটার

জাভাস্ক্রিপ্টে খণ্ডে একটি অ্যারে বিভক্ত করা


আমাদের একটি ফাংশন লিখতে হবে, ধরা যাক chunk() যা প্রথম আর্গুমেন্ট হিসেবে স্ট্রিং/সংখ্যা লিটারালের অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে একটি সংখ্যা n নেয়।

আমাদের n সাব্যারেগুলির একটি অ্যারে ফেরত দিতে হবে, যার প্রতিটিতে সর্বাধিক −

থাকে
arr.length / n উপাদান।

উপাদানের বন্টন এইরকম হওয়া উচিত -

প্রথম উপাদান প্রথম সাবারে যায়, দ্বিতীয় দ্বিতীয়, তৃতীয় তৃতীয় এবং তাই. একবার আমাদের প্রতিটি সাবয়ারেতে একটি উপাদান থাকলে, আমরা আবার প্রথম সাব্যারেকে দ্বিতীয় উপাদান দিয়ে পূরণ করা শুরু করি। একইভাবে, যখন সমস্ত সাব্যারেতে দুটি উপাদান থাকে শুধুমাত্র তার পরে আমরা প্রথম অ্যারেতে তৃতীয় উপাদানটি পূরণ করি ইত্যাদি।

উদাহরণস্বরূপ:যদি ইনপুট অ্যারে −

হয়
কনস্ট ইনপুট =[656, 756, 5345, 67, 43, 76, 54, 768, 34];

এবং n সংখ্যাটি 3,

তারপর আউটপুট −

হওয়া উচিত
কনস্ট আউটপুট =[ [ 656, 67, 54 ], [ 756, 43, 768 ], [ 5345, 76, 34 ]];

অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -

আমরা কাঙ্ক্ষিত অ্যারে তৈরি করতে মূল অ্যারের উপর Array.prototype.reduce() পদ্ধতি ব্যবহার করব।

উদাহরণ

এর জন্য কোড হবে −

const ইনপুট =[656, 756, 5345, 67, 43, 76, 54, 768, 34];const divideArray =(arr, size) => { return arr.reduce((acc, val, ind) => { const subIndex =ind % size; if(!Array.isArray(acc[subIndex])){ acc[subIndex] =[val]; }else{ acc[subIndex].push(val); }; return acc; }, []);};console.log(divideArray(input, 3));

আউটপুট

কনসোলে আউটপুট হবে −

<প্রে>[ [ 656, 67, 54 ], [ 756, 43, 768 ], [ 5345, 76, 34 ] ]
  1. JavaScript array.flatMap()

  2. জাভাস্ক্রিপ্ট অ্যারে স্লাইস()

  3. JavaScript array.values()

  4. জাভাস্ক্রিপ্টে array.flatMap()