"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट्स में किसी विशिष्ट ऑब्जेक्ट को कुशलतापूर्वक कैसे खोजें?

नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट्स में किसी विशिष्ट ऑब्जेक्ट को कुशलतापूर्वक कैसे खोजें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:967

How to Efficiently Find a Specific Object in Nested JavaScript Objects?

नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट के माध्यम से पुनरावृत्त करना

नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट के माध्यम से पुनरावृत्त करना चुनौतीपूर्ण हो सकता है, खासकर जब आपको किसी संपत्ति के आधार पर विशिष्ट ऑब्जेक्ट को पुनः प्राप्त करने की आवश्यकता होती है कीमत। आइए निम्नलिखित उदाहरण पर विचार करें:

var cars = {
  label: 'Autos',
  subs: [
    {
      label: 'SUVs',
      subs: []
    },
    {
      label: 'Trucks',
      subs: [
        {
          label: '2 Wheel Drive',
          subs: []
        },
        {
          label: '4 Wheel Drive',
          subs: [
            {
              label: 'Ford',
              subs: []
            },
            {
              label: 'Chevrolet',
              subs: []
            }
          ]
        }
      ]
    },
    {
      label: 'Sedan',
      subs: []
    }
  ]
};

यदि हम "फोर्ड" ब्रांड के लिए ऑब्जेक्ट को पुनः प्राप्त करना चाहते हैं, तो हम एक पुनरावर्ती दृष्टिकोण का उपयोग कर सकते हैं:

const iterate = (obj, identifier) => {
  for (let key in obj) {
    if (obj[key]['label'] === identifier) {
      return obj[key];
    }
    if (typeof obj[key] === 'object' && obj[key] !== null) {
      const result = iterate(obj[key], identifier);
      if (result) {
        return result;
      }
    }
  }
  return null;
};

const fordObject = iterate(cars, 'Ford');

इस उदाहरण में, पुनरावृत्त फ़ंक्शन दो पैरामीटर लेता है: खोजने के लिए ऑब्जेक्ट और पहचानकर्ता स्ट्रिंग। यह ऑब्जेक्ट के गुणों के माध्यम से पुनरावृत्त करता है, यह जाँचता है कि लेबल गुण पहचानकर्ता से मेल खाता है या नहीं। यदि नहीं, तो यह जाँचता है कि क्या संपत्ति कोई अन्य वस्तु है और पुनरावृत्ति जारी रखती है। यदि कोई मेल खाने वाली वस्तु नहीं मिलती है, तो यह शून्य हो जाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3