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

किसी वस्तु को पुनरावर्ती रूप से समतल करें JavaScript

<घंटा/>

हमें एक फ़ंक्शन लिखना है जो निम्नलिखित परिवर्तन करता है -

अगर इनपुट ऑब्जेक्ट है -

const input = {
   a: 0,
   b: {x: {y: 1, z: 2}},
   c: 3
};

तब फ़ंक्शन का आउटपुट होना चाहिए -

const output = {
   a: 0,
   'b.x.y': 1,
   'b.x.z': 2,
   c: 3
}

हमें मूल रूप से एक फ़ंक्शन लिखना है जो नेस्टेड ऑब्जेक्ट को फ़्लैट करता है। यह रिकर्सन के माध्यम से करेगा और ऐसा करने के लिए कोड होगा -

उदाहरण

const obj = {
   a: 1,
   b: {x: {y: 1, z: 2}},
   c: 3
};
const obj1 = {
   a: 0,
   b: 0,
   c: 0
};
const object = { a: 0, b: { x: { y: 1, z: 2 } }, c: 3 };
const stringifyKeys = (obj, str = '', fresh = {}) => {
   const keys = Object.keys(obj);
   for(let i = 0; i < keys.length; i++){
      if(typeof obj[keys[i]] === "object" && !Array.isArray(obj[keys[i]])
      && obj[keys[i]]){
         stringifyKeys(obj[keys[i]], str+`${keys[i]}.`, fresh);
      }else{
         fresh[str+keys[i]] = obj[keys[i]];
      };
   }
   return fresh;
};
console.log(stringifyKeys(obj));
console.log(stringifyKeys(object));
console.log(stringifyKeys(obj1));

आउटपुट

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

{ a: 1, 'b.x.y': 1, 'b.x.z': 2, c: 3 }
{ a: 0, 'b.x.y': 1, 'b.x.z': 2, c: 3 }
{ a: 0, b: 0, c: 0 }

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

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

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

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

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

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