मान लीजिए, हमारे पास निम्नलिखित ऐरे के ऐरे हैं -
const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ];
हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है।
फ़ंक्शन को दिए गए ऐरे के सभी सबऐरे को आंतरिक रूप से इन नियमों के अनुसार सॉर्ट करना चाहिए -
- यदि एलिमेंट्स "A" या "F" नहीं हैं, तो उन्हें अपनी स्थिति बनाए रखनी चाहिए
- यदि एलिमेंट "A" या "F" में से कोई है, तो उन्हें वर्णानुक्रम में सॉर्ट किया जाना चाहिए
इसलिए, उपरोक्त ऐरे के लिए अंतिम आउटपुट इस तरह दिखना चाहिए -
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' ] ]