কম্পিউটার

এক-মাত্রিক অ্যারেকে দ্বি-মাত্রিক অ্যারে জাভাস্ক্রিপ্টে বিভক্ত করুন


আমাদের এমন একটি ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে একটি এক-মাত্রিক অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি সংখ্যা n নেয় এবং আমাদের প্যারেন্টারে (**যদি সম্ভব হয়) এর ভিতরে n সাবয়ারে তৈরি করতে হবে এবং সেই অনুযায়ী উপাদানগুলিকে ভাগ করতে হবে।

** যদি অ্যারেতে 9টি উপাদান থাকে এবং আমরা 4টি সাবয়ারে তৈরি করতে বলেছি, তাহলে প্রতিটি সাবয়ারেতে 2টি উপাদানকে ভাগ করলে 5টি সাবঅ্যারে তৈরি হয় এবং প্রতিটিতে 3টি 3 তৈরি করে, তাই এই ক্ষেত্রে আমাদের নিকটতম সর্বনিম্ন স্তরে (এই ক্ষেত্রে 3টি) টোফলব্যাক করতে হবে কারণ আমাদের প্রয়োজন কিছু বিশেষ ক্ষেত্রে শেষটি ছাড়া প্রতিটি সাবয়ারেতে সমান সংখ্যক উপাদান বিতরণ করা।

যেমন −

// if the input array is:
const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];
// and the number is 2
//then the output should be:
const output = [ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ];

এই ফাংশনের জন্য কোড লিখি −

উদাহরণ

const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];
const splitArray = (arr, rows) => {
   const itemsPerRow = Math.ceil(arr.length / rows);
   return arr.reduce((acc, val, ind) => {
      const currentRow = Math.floor(ind / itemsPerRow);
      if(!acc[currentRow]){
         acc[currentRow] = [val];
      }else{
         acc[currentRow].push(val);
      };
      return acc;
   }, []);
};
console.log(splitArray(arr, 2));

আউটপুট

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

[ [ 'A', 'B', 'C', 'D', 'E' ], [ 'F', 'G', 'H', 'I' ] ]

  1. জাভাস্ক্রিপ্টে একটি দ্বি-মাত্রিক অ্যারেতে কমা এবং সেমিকোলন পৃথক স্ট্রিংকে কীভাবে বিভক্ত করবেন?

  2. জাভাস্ক্রিপ্টে অবজেক্ট গঠনের জন্য অ্যারে এন্ট্রি বিভক্ত করুন

  3. জাভাস্ক্রিপ্টে অ্যারের অ্যারেকে একটি অবজেক্টে রূপান্তর করা

  4. জাভাস্ক্রিপ্টে পরপর অনুক্রমে অ্যারেকে বিভক্ত করতে পারে