ধরুন, আমাদের কাছে স্ট্রিংগুলির একটি অ্যারে রয়েছে যাতে এইরকম কিছু নাম রয়েছে -
const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai'];
এবং এই মত অক্ষর একটি র্যান্ডম স্ট্রিং -
const str = 'lsoaakjm';
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি আর্গুমেন্টের মতো একটি অ্যারে এবং স্ট্রিং নেয়৷
তারপর ফাংশন, অ্যারের প্রতিটি উপাদানের জন্য পরীক্ষা করা উচিত যে নির্দিষ্ট উপাদানটি দ্বিতীয় যুক্তি হিসাবে সরবরাহ করা স্ট্রিং থেকে সম্পূর্ণরূপে গঠিত হতে পারে কিনা৷
যদি এই শর্তটি অ্যারের কোনো উপাদানের জন্য সন্তুষ্ট হয়, তাহলে আমাদের সেই উপাদানটি ফেরত দেওয়া উচিত অন্যথায় আমাদের একটি খালি স্ট্রিং ফেরত দেওয়া উচিত।
উদাহরণ
নিম্নলিখিত কোড -
const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai']; const str = 'lsoaakjm'; const initialise = (str = '', map) => { for(let i = 0; i < str.length; i++){ map[str[i]] = (map[str[i]] || 0) + 1; }; }; const deleteAll = map => { for(key in map){ delete map[key]; }; }; const checkForFormation = (arr = [], str = '') => { const map = {}; for(let i = 0; i < arr.length; i++){ const el = arr[i].toLowerCase(); initialise(str, map); let j; for(j = 0; j < el.length; j++){ const char = el[j]; if(!map[char]){ break; }else{ map[char]--; } }; if(j === el.length){ return arr[i]; }; deleteAll(map); } return ''; }; console.log(checkForFormation(arr, str));
আউটপুট
নিম্নোক্ত কনসোল আউটপুট -
Kamal