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

जावास्क्रिप्ट में JSON ऑब्जेक्ट को फ़्लैट करना

<घंटा/>

मान लीजिए, हमारे पास निम्न JSON ऑब्जेक्ट है जिसमें किसी भी स्तर तक घोंसला हो सकता है -

const obj = {
   "one": 1,
   "two": {
      "three": 3
   },
   "four": {
      "five": 5,
      "six": {
         "seven": 7
      },
      "eight": 8
   },
   "nine": 9
};

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो एक ऐसे नेस्टेड JSON ऑब्जेक्ट को लेता है और एक नई ऑब्जेक्ट देता है जिसमें कोई नेस्टिंग नहीं होता है और डॉट नोटेशन का उपयोग करके संबंधित मानों को कुंजियों में मैप करता है।

इसलिए, उपरोक्त वस्तु के मामले में, आउटपुट कुछ इस तरह दिखना चाहिए -

const output = {
   'one': 1,
   'two.three': 3,
   'four.five': 5,
   'four.six.seven': 7,
   'four.eight': 8,
   'nine': 9
};

उदाहरण

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

const obj = {
   "one": 1,
   "two": {
      "three": 3
   },
   "four": {
      "five": 5,
      "six": {
         "seven": 7
      },
      "eight": 8
   },
   "nine": 9
};
const flattenJSON = (obj = {}, res = {}, extraKey = '') => {
   for(key in obj){
      if(typeof obj[key] !== 'object'){
         res[extraKey + key] = obj[key];
      }else{
         flattenJSON(obj[key], res, `${extraKey}${key}.`);
      };
   };
   return res;
};
console.log(flattenJSON(obj));

आउटपुट

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

{
   one: 1,
   'two.three': 3,
   'four.five': 5,
   'four.six.seven': 7,
   'four.eight': 8,
   nine: 9
}

  1. जावास्क्रिप्ट में ब्लॉब वस्तु

    ब्लॉब ऑब्जेक्ट का उपयोग ब्लॉब ऑब्जेक्ट का प्रतिनिधित्व करने के लिए किया जाता है जो अपरिवर्तनीय है और कच्चे डेटा का प्रतिनिधित्व करने के लिए उपयोग किया जाता है। ब्लॉब का आकार और माइम प्रकार की संपत्ति ठीक वैसे ही होती है जैसे फ़ाइल में होती है। फ़ाइल बूँद की व्युत्पत्ति है और ब्लॉब का उपयोग उन जगहों

  1. जावास्क्रिप्ट में RegExp ऑब्जेक्ट।

    RegExp ऑब्जेक्ट का उपयोग टेक्स्ट के भाग को खोजकर और निकालकर कुछ टेक्स्ट से मेल खाने वाले पैटर्न के लिए किया जाता है। RegExp ऑब्जेक्ट को या तो regexp कंस्ट्रक्टर या शाब्दिक सिंटैक्स का उपयोग करके बनाया जा सकता है। जावास्क्रिप्ट में RegExp ऑब्जेक्ट के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html&

  1. जावास्क्रिप्ट में ऑब्जेक्ट प्रारंभकर्ता

    ऑब्जेक्ट इनिशियलाइज़र एक एक्सप्रेशन है जो हमें एक नई बनाई गई ऑब्जेक्ट को इनिशियलाइज़ करने की अनुमति देता है। यह संपत्ति के नामों के शून्य या अधिक जोड़े और घुंघराले ब्रेसिज़ की एक जोड़ी में संलग्न किसी वस्तु के संबंधित मूल्यों की अल्पविराम से अलग सूची है {}। जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र क