मान लीजिए, हमारे पास एक JSON ऑब्जेक्ट इस तरह है -
const obj = { a: { someKey: { propOne: '', enabled: true } }, b: { someKey: { propOne: '', enabled: false } }, c: { someKey: { propOne: '', enabled: false } }, someKey: { ab: { propOne: '', enabled: true } } };
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक ऐसी वस्तु को लेता है और सभी "सक्षम" गुणों को उस स्थान से पुनरावर्ती रूप से हटा देता है जिसमें एक गलत मान होता है।
उदाहरण
इसके लिए कोड होगा -
const obj = { a: { someKey: { propOne: '', enabled: true } }, b: { someKey: { propOne: '', enabled: false } }, c: { someKey: { propOne: '', enabled: false } }, someKey: { ab: { propOne: '', enabled: true } } }; const deleteFalsyKey = obj => { const keys = Object.keys(obj); keys.forEach(key => { if(obj[key].enabled === false){ delete obj[key]; return; }; if(obj[key] && typeof obj[key] === 'object'){ deleteFalsyKey(obj[key]); if (!Object.keys(obj[key]).length) { delete obj[key]; }; } }); }; deleteFalsyKey(obj); console.log(obj);
आउटपुट
कंसोल में आउटपुट -
{ a: { someKey: { propOne: '', enabled: true } }, someKey: { ab: { propOne: '', enabled: true } } }