मान लीजिए हमारे पास इस तरह की कोई वस्तु है -
const obj ={ "नाम":"विवेक शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":23, "संपर्क":[{ "नाम":"मुकुल शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":31,}, {"नाम":"जय शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":27,}, { "नाम":"राजन शर्मा", "व्यवसाय":"सॉफ़्टवेयर इंजीनियर", "आयु":32, }]};
यहां इसे केवल एक स्तर तक घोंसला बनाया गया है, लेकिन घोंसला गहरा भी हो सकता है। हमें एक ऑब्जेक्ट फ़ंक्शन Object.prototype.keysOf() लिखने की आवश्यकता होती है जो एक मान लेता है और उन सभी कुंजियों की एक सरणी देता है जिनका मान तर्क में निर्दिष्ट होता है।
तो, अब इस फंक्शन के लिए कोड लिखते हैं -
उदाहरण
const obj ={ "नाम":"विवेक शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":23, "संपर्क":[{ "नाम":"मुकुल शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":31,}, {"नाम":"जय शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":27,}, { "नाम":"राजन शर्मा", "व्यवसाय":"सॉफ्टवेयर इंजीनियर", "आयु":32, }]}; कॉन्स्ट कीज़ऑफ़ =फंक्शन (वैल, ओबीजे =यह, रेस =[]) {कॉन्स्ट कीज़ =ऑब्जेक्ट। कीज़ (ओबीजे); के लिए (इंड =0; इंड <कुंजी। लम्बाई; इंड ++) {अगर (ओबीजे [कुंजी [इंड]] ===वैल) {res.push (कुंजी [इंड]); }else if(typeof obj[keys[ind]] ==='object' &&!Array.isArray(obj[keys[ind]])){ keysOf(val, obj[keys[ind]], res); }; }; वापसी res;};Object.prototype.keysOf =keysOf;console.log(obj.keysOf(23));
आउटपुट
कंसोल में आउटपुट होगा -
<पूर्व>['उम्र']