मान लीजिए, हमारे पास सरणियों की निम्नलिखित सरणी है -
const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है।
फ़ंक्शन को दिए गए सरणी के सभी उप-सरणी को इन नियमों के अनुसार आंतरिक रूप से क्रमबद्ध करना चाहिए -
- यदि तत्व "ए" या "एफ" नहीं हैं, तो उन्हें अपनी स्थिति बनाए रखनी चाहिए
- यदि तत्व "ए" या "एफ" में से एक है, तो उन्हें वर्णानुक्रम में क्रमबद्ध किया जाना चाहिए
इसलिए, उपरोक्त सरणी के लिए अंतिम आउटपुट इस तरह दिखना चाहिए -
const output = [ ["A","A","A","H","A","F"], ["F","F","F","F","F","H"] ];
ध्यान दें कि यदि सॉर्टिंग एल्गोरिथम उन्हें ऐसा करने के लिए प्रेरित करता है, तो उप-सरणी के तत्व अपने सरणियों को बदल सकते हैं।
उदाहरण
const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ]; const customSort = (arr = []) => { const order = [].concat(...arr.slice()), res = []; order.forEach((el, ind) => { if (el === 'A') { const fIndex = order.indexOf('F'); if (fIndex < ind){ order[fIndex] = 'A'; order[ind] = 'F'; }; }; }) arr.forEach(el => res.push(order.splice(0, el.length))) return res; } console.log(customSort(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ [ 'A', 'A', 'A', 'H', 'A', 'F' ], [ 'F', 'F', 'F', 'F', 'F', 'H' ] ]