मान लीजिए हमारे पास ऑब्जेक्ट्स का निम्नलिखित ऐरे है:
const arr = [ { 'name' : 'd', 'index' : 3 }, { 'name' : 'c', 'index' : 2 }, { 'name' : 'a', 'index' : 0 }, { 'name' : 'b', 'index' : 1 } ];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है।
फ़ंक्शन को इस ऐरे को ऑब्जेक्ट्स के index प्रॉपर्टी के अनुसार बढ़ते क्रम में सॉर्ट करना चाहिए।
फिर फ़ंक्शन को सॉर्ट किए गए ऐरे को स्ट्रिंग्स के ऐरे में मैप करना चाहिए जहां प्रत्येक स्ट्रिंग ऑब्जेक्ट के संबंधित name प्रॉपर्टी का मान हो।
इसलिए, उपरोक्त ऐरे के लिए, अंतिम आउटपुट इस तरह दिखना चाहिए:
const output = ["a", "b", "c", "d"];
उदाहरण
इसके लिए कोड होगा:
const arr = [ { 'name' : 'd', 'index' : 3 }, { 'name' : 'c', 'index' : 2 }, { 'name' : 'a', 'index' : 0 }, { 'name' : 'b', 'index' : 1 } ]; const sortAndMap = (arr = []) => { const copy = arr.slice(); const sorter = (a, b) => { return a['index'] - b['index']; }; copy.sort(sorter); const res = copy.map(({name, index}) => { return name; }); return res; }; console.log(sortAndMap(arr));आउटपुट
कंसोल में आउटपुट होगा:
[ 'a', 'b', 'c', 'd' ]