কম্পিউটার

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


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

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

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

যেমন −

// যদি ইনপুট অ্যারে হয়:const input =[1, 2, 3, 4, 5, 6];// তাহলে আউটপুটটি হওয়া উচিত:const output =[ [1, 4], [2, 5] ], [৩, ৬]];

এই ফাংশনের জন্য কোড লিখি, আমরা কাঙ্খিত অ্যারে তৈরি করতে মূল অ্যারেতে Array.prototype.reduce() মেথড করব। এর জন্য কোড হবে −

উদাহরণ

const ইনপুট =[1, 2, 3, 4, 5, 6, 7, 8, 9];const খণ্ড =(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(খণ্ড(ইনপুট, 4));

আউটপুট

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

<প্রে>[ [ 1, 5, 9 ], [ 2, 6 ], [ 3, 7 ], [ 4, 8 ] ]
  1. জাভাস্ক্রিপ্টে অ্যারে স্লাইস()

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

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

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