मान लीजिए हमारे पास इस तरह की एक सरणी है -
const arr =[ [1, 2, 3, 4], [12,13,14,5], [11,16,15,6], [10,9, 8, 7]];पूर्व>सरणी एक वर्ग मैट्रिक्स होने के लिए बाध्य है।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो इस सरणी को लेता है और तत्वों को लेकर और केंद्र में परिवर्तित होने तक सर्पिलिंग करके एक नया सरणी बनाता है। घोंघे का निशान मैट्रिक्स के बाहर और अंदर की ओर घूमता है।
इसलिए, उपरोक्त सरणी के लिए आउटपुट होना चाहिए -
कॉन्स्ट आउटपुट =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];इसलिए, इस फ़ंक्शन के लिए कोड लिखें। हम रिकर्सन का उपयोग करके इस समस्या का समाधान करेंगे।
उदाहरण
इसके लिए कोड होगा -
const arr =[ [1, 2, 3, 4], [12,13,14,5], [11,16,15,6], [10,9, 8, 7]]; =एआर => {रिटर्न एआर.लेंथ> 1? arr.splice(0,1)[0] .concat(spiralForm(arr[0].map((c, i) => {रिटर्न arr.map(r => r[i]); }) .reverse( ))) :arr[0]}console.log(spiralForm(arr));आउटपुट
कंसोल में आउटपुट होगा -
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]