এখানে আমাদের একটি ফাংশন তৈরি করতে হবে যা একটি অবজেক্ট ও একটি সার্চ স্ট্রিং নেবে, অবজেক্টের কীগুলো যেগুলো সার্চ স্ট্রিং দিয়ে শুরু হয় সেগুলো ফিল্টার করে অবজেক্ট রিটার্ন করবে।
কোড:
উদাহরণ
const obj = { "PHY": "Physics", "MAT": "Mathematics", "BIO": "Biology", "COM": "Computer Science", "SST": "Social Studies", "SAN": "Sanskrit", "ENG": "English", "HIN": "Hindi", "ESP": "Spanish", "BST": "Business Studies", "ECO": "Economics", "CHE": "Chemistry", "HIS": "History" } const str = 'en'; const returnFilteredObject = (obj, str) => { const filteredObj = {}; Object.keys(obj).forEach(key => { if(key.substr(0, str.length).toLowerCase() === str.toLowerCase()){ filteredObj[key] = obj[key]; } }); return filteredObj; }; console.log(returnFilteredObject(obj, str));
কোড ব্যাখ্যা:
আমরা অবজেক্টের প্রতিটি কীতে ইটারেট করি, যদি সেটি আর্গুমেন্ট হিসেবে পাওয়া str দিয়ে শুরু হয়, তবে সেটি অন্য একটি অবজেক্টে সেভ করি, না হলে এগিয়ে যাই।
এই সমস্যায় নতুন অবজেক্ট বানানো হয়েছে, কিন্তু আরও পারফরম্যান্ট সমাধানের জন্য অপরিচিত প্রোপার্টিগুলো মূল অবজেক্ট থেকে ডিলিট করলেই চলে।
আউটপুট
কনসোল আউটপুট:
{ ENG:"English" }