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

मैं किसी जटिल वस्तु की पदानुक्रमिक संपत्ति सूची का पुनरावर्ती निर्माण कैसे कर सकता हूँ?

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

How can I recursively construct a hierarchical property list of a complex object?

पुनरावर्ती संपत्ति सूची निर्माण

किसी जटिल वस्तु को पार करने और उसके गुणों की एक पदानुक्रमित सूची निकालने के लिए, एक पुनरावर्ती फ़ंक्शन का उपयोग करने पर विचार करें। यह तकनीक ऑब्जेक्ट की संरचना के भीतर नेस्टेड संबंधों को प्रभावी ढंग से पकड़ती है। एक संपत्ति: { एसेटिंग1:1, एसेटिंग2:2, एसेटिंग3:3, एसेटिंग4:4, एसेटिंग5:5 }, बीसंपत्ति: { bसेटिंग1: { bPropertySubSetting : सत्य }, bSetting2: "bString" }, सीप्रॉपर्टी: { सीसेटिंग: "सीस्ट्रिंग" } }

संपत्ति कुंजियों की पदानुक्रमिक रूप से वांछित सूची बनाने के लिए, हम इस तरह एक पुनरावर्ती फ़ंक्शन नियोजित कर सकते हैं:

var object = {
    aProperty: {
        aSetting1: 1,
        aSetting2: 2,
        aSetting3: 3,
        aSetting4: 4,
        aSetting5: 5
    },
    bProperty: {
        bSetting1: {
            bPropertySubSetting : true
        },
        bSetting2: "bString"
    },
    cProperty: {
        cSetting: "cString"
    }
}

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

function iterate(obj, stack) {
    for (var property in obj) {
        if (obj.hasOwnProperty(property)) {
            if (typeof obj[property] == "object") {
                iterate(obj[property], stack   '.'   property);
            } else {
                console.log(property   "   "   obj[property]);
                $('#output').append($("
").text(stack '.' property)) } } } } iterate(object, '')

के लिए नेस्टेड ऑब्जेक्ट, फ़ंक्शन स्वयं को पुनरावर्ती रूप से कॉल करता है, नेस्टेड ऑब्जेक्ट में गुजरता है और स्टैक स्ट्रिंग में प्रॉपर्टी कुंजी जोड़ता है।

  • परिणाम प्रॉपर्टी कुंजियों की एक सूची है, जो मूल ऑब्जेक्ट की पदानुक्रमित संरचना को कैप्चर करती है .
  • यह समाधान प्रभावी ढंग से संपत्ति पुनरावृत्ति के साथ रिकर्सन को एकीकृत करता है, जो ऑब्जेक्ट गुणों की एक पदानुक्रमित सूची के निर्माण के लिए एक व्यापक दृष्टिकोण प्रदान करता है।
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729405459 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3