সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি স্ট্রিং 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