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

JavaScript-এ এক-মাত্রিক অ্যারেকে দুই-মাত্রিক অ্যারেতে ভাগ করা


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

** যদি অ্যারেতে ৯টি এলিমেন্ট থাকে এবং আমরা ৪টি সাব-অ্যারে তৈরি করতে বলি, তবে প্রতিটিতে ২টি করে ভাগ করলে ৫টি সাব-অ্যারে তৈরি হবে এবং ৩টি করে ভাগ করলে ৩টি, এমন ক্ষেত্রে আমাদের নিয়ারেস্ট লোয়েস্ট লেভেলে ফলব্যাক করতে হবে (এখানে ৩) কারণ আমাদের শর্ত হলো প্রতিটি সাব-অ্যারেতে সমান সংখ্যক এলিমেন্ট বান্টন করা, শেষ সাব-অ্যারেটি কিছু 스페শাল কেসে ব্যতীত।

উদাহরণস্বরূপ:

// যদি ইনপুট অ্যারে হয়: const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']; // এবং নম্বরটি ২ //তবে আউটপুট হবে: 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. জাভাস্ক্রিপ্টে অ্যারে কনsekutিভ সাবসিকোয়েন্সে ভাগ করা সম্ভব কিনা যাচাই করা