समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की 2-डी सरणी लेता है, एआर, पहले तर्क के रूप में और दो नंबर, आर और सी, पंक्ति का प्रतिनिधित्व करते हैं संख्या और स्तंभ वांछित मैट्रिक्स की संख्या, क्रमशः।
हमारे फ़ंक्शन को समान पंक्ति-ट्रैवर्सिंग में निर्दिष्ट पंक्तियों और स्तंभों के साथ एक नया 2-डी सरणी बनाना और वापस करना चाहिए आदेश के रूप में वे इनपुट सरणी में थे।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = [ [6, 7], [8, 9] ]; const r = 1, c = 4;
तब आउटपुट होना चाहिए -
const output = [[6, 7, 8, 9]];
आउटपुट स्पष्टीकरण
पंक्ति-ट्रैवर्सिंग गिरफ्तारी का है [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]]