কম্পিউটার

একটি অ্যারে ভাগ করা - জাভাস্ক্রিপ্ট


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

আমাদের n সাব্যারেগুলির একটি অ্যারে ফেরত দিতে হবে, যার প্রতিটিতে সর্বাধিক arr.length / n উপাদান রয়েছে। এবং উপাদানগুলির বন্টন এইরকম হওয়া উচিত -

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

যেমন −

যদি ইনপুট অ্যারে −

হয়
 const ইনপুট =[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 % সাইজ; 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. জাভাস্ক্রিপ্টে অ্যারে স্লাইস()

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

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

  4. জাভাস্ক্রিপ্টে অ্যারে ডি-স্ট্রাকচারিং।