সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি 2-ডি অ্যারেতে নেয়, arr, প্রথম আর্গুমেন্ট হিসাবে এবং দুটি সংখ্যা, r এবং c, সারি কে প্রতিনিধিত্ব করে। সংখ্যা এবং কলাম পছন্দসই ম্যাট্রিক্সের সংখ্যা, যথাক্রমে।
আমাদের ফাংশনটি একই সারি-ট্র্যাভার্সিং-এ নির্দিষ্ট সারি এবং কলামগুলির সাথে একটি নতুন 2-ডি অ্যারে তৈরি করা এবং ফিরিয়ে দেওয়া উচিত অর্ডার করুন যেভাবে তারা ইনপুট অ্যারেতে ছিল।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [ [6, 7], [8, 9] ]; const r = 1, c = 4;
তারপর আউটপুট −
হওয়া উচিতconst output = [[6, 7, 8, 9]];
আউটপুট ব্যাখ্যা
সারি-ট্র্যাভার্সিং arr হল [6, 7, 8, 9]। নতুন আকৃতির ম্যাট্রিক্স একটি 1 * 4 ম্যাট্রিক্স, আগের তালিকা ব্যবহার করে সারি সারি এটি পূরণ করুন
উদাহরণ
নিম্নলিখিত কোড -
const arr = [ [6, 7], [8, 9] ]; const r = 1, c = 4; const reshapeArray = (arr, r, c) => { if (r * c !== arr.length * arr[0].length) { return arr } const res = [] let row = [] arr.forEach(items => items.forEach((num) => { row.push(num) if (row.length === c) { res.push(row) row = [] } })) return res }; console.log(reshapeArray(arr, r, c));
আউটপুট
নিম্নোক্ত কনসোল আউটপুট -
[[6, 7, 8, 9]]