मान लीजिए, हमारे पास दो सरणियाँ हैं, मान लीजिए कि arr1 और arr2 हैं। arr2 के अवयव भिन्न हैं, और arr2 के सभी अवयव भी arr1 में हैं।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो दो ऐसे सरणियों में लेता है और arr1 के तत्वों को इस तरह से सॉर्ट करता है कि arr1 में आइटम्स का सापेक्ष क्रम arr2 जैसा ही है। arr2 में प्रकट नहीं होने वाले तत्वों को अंत में रखा जाना चाहिए arr1 आरोही क्रम में।
उदाहरण के लिए- यदि दो इनपुट सरणियाँ हैं -
const arr1 = [2,3,1,3,2,4,6,7,9,2,19]; const arr2 = [2,1,4,3,9,6];
तब आउटपुट होना चाहिए -
const output = [2,2,2,1,4,3,3,9,6,7,19];
उदाहरण
const arr1 = [2,3,1,3,2,4,6,7,9,2,19]; const arr2 = [2,1,4,3,9,6]; const relativeSortArray = (arr1, arr2) => { const map = new Map(); const len = arr2.length; arr2.forEach((a, i) => { map.set(a, i); }); return arr1.sort((a, b) => { a = map.has(a) ? map.get(a) : len + a; b = map.has(b) ? map.get(b) : len + b; return a - b; }); }; console.log(relativeSortArray(arr1, arr2));
आउटपुट
और कंसोल में आउटपुट होगा -
[ 2, 2, 2, 1, 4, 3, 3, 9, 6, 7, 19 ]