Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

किसी वस्तु पर पुनरावृति करें और जावास्क्रिप्ट में झूठी संपत्ति को हटा दें

<घंटा/>

मान लीजिए, हमारे पास एक 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 } }
}

  1. जावास्क्रिप्ट ऑब्जेक्ट से किसी संपत्ति को कैसे हटाएं?

    जावास्क्रिप्ट ऑब्जेक्ट से किसी प्रॉपर्टी को हटाने के लिए, कोड इस प्रकार है - उदाहरण जावास्क्रिप्ट वस्तु गुण उदाहरणathlete.name चलो एथलीट ={ नाम: जेम्स एंडरसन, खेल:क्रिकेट, ट्राफियां:15}; document.querySelector( .sample ).innerHTML =`${athlete.name} जो ${athlete.sport} खेलता है उसके पास ${athlete.tro

  1. क्या हम जांच सकते हैं कि कोई संपत्ति जावास्क्रिप्ट के साथ किसी वस्तु में है या नहीं?

    जावास्क्रिप्ट में किसी ऑब्जेक्ट में कोई प्रॉपर्टी है या नहीं, यह जांचने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.

  1. जावास्क्रिप्ट में ऑब्जेक्ट प्रॉपर्टी नाम की सरणी को बदलना

    जावास्क्रिप्ट में ऑब्जेक्ट प्रॉपर्टी नाम की सरणी को बदलने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />