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

स्ट्रिंग कुंजी के साथ नेस्टेड JavaScript ऑब्जेक्ट तक पहुंचना

<घंटा/>

आप किसी भी स्तर पर सुरक्षित रूप से गुण प्राप्त करने के लिए लॉश की विधि का उपयोग कर सकते हैं। प्रथम-स्तरीय गुण प्राप्त करना बहुत सीधा है। नेस्टेड संपत्ति का उपयोग मुश्किल है और आपको इसके लिए लॉश जैसे परीक्षण किए गए पुस्तकालय का उपयोग करना चाहिए।

आप किसी गहरे नेस्टेड ऑब्जेक्ट को निम्न तरीके से एक्सेस कर सकते हैं -

उदाहरण

let _ = require("lodash");
let obj = {
   a: {
      b: {
         foo: "test"
      },
      c: 2
   }
};
console.log(_.get(obj, "a.b.foo"));
console.log(_.get(obj, "a.c"));
console.log(_.get(obj, "a.test"));
console.log(_.get(obj, "a.test.x"));

आउटपुट

यह आउटपुट देगा -

test
2
undefined
undefined

आप अपना खुद का getProp फंक्शन निम्नलिखित तरीके से भी लिख सकते हैं -

const getProp = (object, path) => {
   if (path.length === 1) return object[path[0]];
      else if (path.length === 0) throw error;
   else {
      if (object[path[0]]) return getProp(object[path[0]], path.slice(1));
      else {
         object[path[0]] = {};
         return getProp(object[path[0]], path.slice(1));
      }
   }
};

आप प्रॉप्स को एक्सेस करने के लिए ऐरे पास करके इसका इस्तेमाल कर सकते हैं।

उदाहरण

var obj = {
   level1:{
      level2:{
         level3:{
            name: "Foo"
         }
      },
      anotherLevel2: "bar"
   }
};
console.log(getProp(obj, ["level1", "level2"]));

आउटपुट

यह आउटपुट देगा -

{level3: {name: "Foo"}}

  1. जावास्क्रिप्ट के साथ नेस्टेड संग्रह फ़िल्टर

    मान लीजिए, हमारे पास इस तरह की नेस्टेड वस्तुओं की एक सरणी है - const arr = [{    id: 1,    legs:[{       carrierName:'Pegasus'    }] }, {    id: 2,    legs:[{       carrierName: 'SunExpress'    

  1. जावास्क्रिप्ट में वस्तुओं की सरणी के लिए विभाजक के साथ स्ट्रिंग को कनवर्ट करें

    मान लीजिए, हमारे पास इस तरह की एक स्ट्रिंग है - const str = 'Option 1|false|Option 2|false|Option 3|false|Option 4|true'; हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी स्ट्रिंग लेता है। फ़ंक्शन को स्ट्रिंग को | से विभाजित करना चाहिए विकल्प और उसके मूल्य को अलग करने के लिए और इसे इस तरह

  1. जावास्क्रिप्ट में मौजूद संख्याओं के साथ एक स्ट्रिंग को मान्य करना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग स्ट्र लेता है। हमारे फ़ंक्शन को उनके सामने की संख्याओं के आधार पर स्ट्रिंग में वर्णों को मान्य करना चाहिए। हमें स्ट्रिंग को संख्याओं से विभाजित करने की आवश्यकता है, और फिर संख्याओं की तुलना निम्नलिखित सबस्ट्रिंग में वर्णों की संख्या से क