समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो दो स्ट्रिंग्स, str1 और str2 को पहले और दूसरे तर्क के रूप में लेता है।
हमारे फ़ंक्शन को str1 को वर्णों के क्रम के अनुसार क्रमबद्ध करना चाहिए जैसे वे str2 में दिखाई देते हैं
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const str1 = 'coding'; const str2 = 'gncabdi';
आउटपुट
const output = 'gncdio';
आउटपुट स्पष्टीकरण
जो अक्षर str2 में सबसे पहले दिखाई देते हैं, उन्हें पहले रखा जाता है, उसके बाद बाद में आने वाले और अंत में str2 में अनुपस्थित अक्षरों को रखा जाता है।
उदाहरण
निम्नलिखित कोड है -
const str1 = 'coding'; const str2 = 'gncabdi'; const sortByOrder = (str1 = '', str2 = '') => { str2 = str2.split(''); const arr1 = str1 .split('') .filter(el => str2.includes(el)) .sort((a, b) => str2.indexOf(a) - str2.indexOf(b)); const arr2 = str1 .split('') .filter(el => !str2.includes(el)); return arr1.join('') + arr2.join(''); }; console.log(sortByOrder(str1, str2));
आउटपुट
gncdio