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

जावास्क्रिप्ट में स्क्वायर ब्रैकेट ऑब्जेक्ट कुंजियों को नेस्टेड ऑब्जेक्ट में कैसे बदलें?

<घंटा/>

हम जानते हैं कि जावास्क्रिप्ट में किसी ऑब्जेक्ट के भीतर नेस्टेड कुंजियों तक पहुंचने के दो तरीके हैं।

उदाहरण के लिए, इस वस्तु को लें -

const obj = {
   object: {
      foo: {
         bar: {
            ya: 100
         }
      }
   }
};

अगर हमें नेस्टेड प्रॉपर्टी 'ya' को एक्सेस या अपडेट करने की जरूरत है, तो हम इसे इस तरह एक्सेस कर सकते हैं -

रास्ता 1 −

obj['object']['foo']['bar']['ya']

या रास्ता 2 −

obj.object.foo.bar.ya

ये दोनों रास्ते हमें एक ही मंजिल तक ले जाते हैं।

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो नेस्टेड कुंजी के पथ में 1 द्वारा दर्शाए गए स्ट्रिंग के रूप में ले जाता है और इसे वे 2 द्वारा दर्शाए गए नोटेशन में परिवर्तित करता है

उदाहरण

इसके लिए कोड होगा -

const obj = { "object[foo][bar][ya]": 100 };
const constructDotNotation = obj => {
   const keys = Object.keys(obj)[0].split('[').map(el => {
      return el.replace(']', '');
   });
   let res = {};
   keys.reverse().forEach(key => {
      if (Object.keys(res).length === 0){
         res[key] = obj[Object.keys(obj)[0]];
      }else{
         const temp = {};
         temp[key] = res;
         res = temp;
      };
   });
   return res;
};
console.log(JSON.stringify(constructDotNotation(obj), undefined, 4));

आउटपुट

और कंसोल में आउटपुट होगा -

{
   "object": {
      "foo": {
         "bar": {
            "ya": 100
         }
      }
   }
}

  1. JSON टेक्स्ट को जावास्क्रिप्ट JSON ऑब्जेक्ट में कैसे बदलें?

    JSON पार्स () विधि का उपयोग JSON टेक्स्ट को JavaScript ऑब्जेक्ट में बदलने के लिए किया जाता है। JSON टेक्स्ट को JavaScript JSON ऑब्जेक्ट में बदलने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta n

  1. शब्दकोश को जावास्क्रिप्ट ऑब्जेक्ट्स की सूची में कैसे परिवर्तित करें?

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

  1. स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में कैसे बदलें?

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