हमें एक ऑब्जेक्ट दिया गया है जिसमें कुछ रैंडम प्रॉपर्टीज हैं, जिनमें कुछ नंबर, बूलियन, स्ट्रिंग्स और ऑब्जेक्ट स्वयं शामिल हैं।
हमें एक फ़ंक्शन लिखना आवश्यक है जो ऑब्जेक्ट को पहले आर्गुमेंट के रूप में और एक स्ट्रिंग को दूसरे आर्गुमेंट के रूप में लेता है, दूसरे आर्गुमेंट के लिए संभावित मान JavaScript में किसी भी डेटा प्रकार का नाम है जैसे number, string, object, boolean, symbol आदि।
हमारा कार्य दूसरे आर्गुमेंट द्वारा निर्दिष्ट प्रकार की प्रत्येक प्रॉपर्टी को हटाना है। यदि दूसरा आर्गुमेंट प्रदान नहीं किया गया है, तो डिफ़ॉल्ट रूप से 'number' लें।
इसे करने का पूरा कोड होगा:
const obj = {
name: 'Lokesh Rahul',
age: 29,
mother: 'Avantika Rahul',
father: 'Trilok Rahul',
matches: 123,
average: 45.23,
isFit: true,
runs: {
odi: 5674,
test: 3456
}
};
const shedData = (obj, type = 'number') => {
for(const key in obj){
if(typeof obj[key] === type){
delete obj[key];
};
};
};
shedData(obj, 'string');
console.log(obj);
आउटपुट
कंसोल में आउटपुट होगा:
{
age: 29,
matches: 123,
average: 45.23,
isFit: true,
runs: { odi: 5674, test: 3456 }
}