यहां हमें एक ऐसा फ़ंक्शन बनाने की आवश्यकता है जो किसी ऑब्जेक्ट और एक खोज स्ट्रिंग को लेता है और ऑब्जेक्ट कुंजियों को फ़िल्टर करता है जो खोज स्ट्रिंग से शुरू होते हैं और ऑब्जेक्ट को वापस करते हैं
यहाँ ऐसा करने के लिए कोड है -
उदाहरण
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));
कोड स्पष्टीकरण -
हम केवल ऑब्जेक्ट की प्रत्येक कुंजी पर पुनरावृति करते हैं, यदि यह स्ट्र से शुरू होता है जो हमें तर्क के रूप में प्राप्त होता है, तो हम इसे किसी अन्य ऑब्जेक्ट में सहेजते हैं अन्यथा हम पुनरावृति करते रहते हैं।
इस समस्या के उद्देश्य के लिए, हमने प्रत्येक कुंजी के माध्यम से पुनरावृति की और आवश्यक कुंजी को एक नई वस्तु में स्थानांतरित कर दिया, लेकिन एक नई वस्तु बनाने के बजाय अधिक प्रदर्शन करने वाले समाधान के लिए हम मूल वस्तु से अवांछित गुणों को हटा सकते थे।
आउटपुट
कंसोल में आउटपुट होगा -
{ ENG:"English" }