पुनरावर्ती संपत्ति सूची निर्माण
किसी जटिल वस्तु को पार करने और उसके गुणों की एक पदानुक्रमित सूची निकालने के लिए, एक पुनरावर्ती फ़ंक्शन का उपयोग करने पर विचार करें। यह तकनीक ऑब्जेक्ट की संरचना के भीतर नेस्टेड संबंधों को प्रभावी ढंग से पकड़ती है। एक संपत्ति: { एसेटिंग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, '')के लिए नेस्टेड ऑब्जेक्ट, फ़ंक्शन स्वयं को पुनरावर्ती रूप से कॉल करता है, नेस्टेड ऑब्जेक्ट में गुजरता है और स्टैक स्ट्रिंग में प्रॉपर्टी कुंजी जोड़ता है।
- परिणाम प्रॉपर्टी कुंजियों की एक सूची है, जो मूल ऑब्जेक्ट की पदानुक्रमित संरचना को कैप्चर करती है .
- यह समाधान प्रभावी ढंग से संपत्ति पुनरावृत्ति के साथ रिकर्सन को एकीकृत करता है, जो ऑब्जेक्ट गुणों की एक पदानुक्रमित सूची के निर्माण के लिए एक व्यापक दृष्टिकोण प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3