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

জাভাস্ক্রিপ্টে অ্যারে চাঙ্ক (chunk) করে ভাগ করা


একটি ফাংশন লিখতে হবে, ধরুন chunk(), যা প্রথম আর্গুমেন্ট হিসেবে একটি স্ট্রিং/নাম্বার লিটারেল অ্যারে (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.flatMap() মেথড

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

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

  4. জাভাস্ক্রিপ্ট array.flatMap() মেথড