কম্পিউটার টিউটোরিয়াল

অ্যারে বিভাজন - JavaScript


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

আমাদের n সংখ্যক সাব-অ্যারে সম্বলিত একটি অ্যারে রিটার্ন করতে হবে, যেটির প্রতিটি সাব-অ্যারে-তে সর্বোচ্চ arr.length / n উপাদান থাকবে। এবং উপাদান বিতরণ হবে এইভাবে −

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

উদাহরণ −

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

  const input = [656, 756, 5345, 67, 43, 76, 54, 768, 34];

এবং সংখ্যা n হয় 3, তবে আউটপুট হবে −

const output = [     [ 656, 67, 54 ],     [ 756, 43, 768 ],     [ 5345, 76, 34 ] ];

আমরা Array.prototype.reduce() মেথড ব্যবহার করব মূল অ্যারেতে ইটারেট করে望む অ্যারে তৈরি করতে।

উদাহরণ

নিচে কোডটি দেওয়া হল −

const input = [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. জাভাস্ক্রিপ্ট Array slice() মেথড

  2. জাভাস্ক্রিপ্ট Array shift() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

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