मान लीजिए, हमारे पास इस तरह की एक सरणी है -
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]