हमें एक फ़ंक्शन घोषित करने की आवश्यकता है, मान लें कि insertAllPositions, जो दो तर्क लेता है -
एक तत्व, एक्स, और एक सरणी, गिरफ्तार। फ़ंक्शंस को सरणी की एक सरणी लौटानी चाहिए, प्रत्येक सरणी एआर के अनुरूप हो, जिसमें x संभावित स्थिति में डाला गया हो।
अर्थात्, यदि गिरफ्तारी लंबाई N है, तो परिणाम N + 1 सरणियों वाला एक सरणी है -
उदाहरण के लिए, insertAllPositions(10, [1,2,3]) का परिणाम होना चाहिए -
कॉन्स्ट आउटपुट =[ [10,1,2,3], [1,10,2,3], [1,2,10,3], [1,2,3,10]];पूर्व>हमें इस फ़ंक्शन को पूरी तरह से रिकर्सन का उपयोग करके लिखना है।
उदाहरण
निम्नलिखित कोड है -
const arr =[1, 2, 3];const num =10;const insertAllPositions =(num, arr) => {रिटर्न arr.length? [[संख्या, ... गिरफ्तार]] .concat(insertAllPositions(num, arr.slice(1)) .map(el => {वापसी [arr[0]].concat(el); })):[[ num]]};console.log(insertAllPositions(num, arr));आउटपुट
यह कंसोल पर निम्न आउटपुट उत्पन्न करेगा -
[ [ 10, 1, 2, 3 ], [ 1, 10, 2, 3], [ 1, 2, 10, 3], [ 1, 2, 3, 10 ] ]