हमें एक गतिशील जावास्क्रिप्ट सरणी को सॉर्ट करने की आवश्यकता है। शर्त यह है कि हमें मानक पूर्वनिर्धारित सरणी में किसी विशेष क्रम में संग्रहीत मानों के अनुसार इसे क्रमबद्ध करना आवश्यक है।
मान लें कि निम्नलिखित हमारी गतिशील सरणी है -
const dbArray = ['Apple','Banana','Mango','Apple','Mango','Mango','Apple'];
और मान लीजिए कि जिस मानक सरणी के खिलाफ हमें उपरोक्त सरणी को क्रमबद्ध करना है, वह है -
const stdArray = ['Mango','Apple','Banana','Grapes'];
तो, dbArray को छाँटने के बाद, मेरी परिणामी सरणी इस तरह दिखनी चाहिए -
const resultArray = ['Mango','Mango','Mango','Apple','Apple','Apple','Banana'];
उदाहरण
निम्नलिखित कोड है -
const dbArray = ['Apple','Banana','Mango','Apple','Mango','Mango','Apple']; const stdArray = ['Mango','Apple','Banana','Grapes']; const sortByRef = (arr, ref) => { const sorter = (a, b) => { return ref.indexOf(a) - ref.indexOf(b); }; arr.sort(sorter); }; sortByRef(dbArray, stdArray); console.log(dbArray);
आउटपुट
कंसोल में आउटपुट निम्नलिखित है -
[ 'Mango', 'Mango', 'Mango', 'Apple', 'Apple', 'Apple', 'Banana' ]