हमारे पास एक विशेष प्रकार की स्ट्रिंग है जिसमें वर्ण युग्म में होते हैं, जैसे:
const str = "AABBCCDDEE";
हमें इस स्ट्रिंग के आधार पर एक ऑब्जेक्ट बनाना आवश्यक है जो इस तरह दिखना चाहिए:
const obj = {
code: "AA",
sub: {
code: "BB",
sub: {
code: "CC",
sub: {
code: "DD",
sub: {
code: "EE",
sub: {}
}
}
}
}
};
ध्यान दें कि स्ट्रिंग में प्रत्येक अद्वितीय युग्म के लिए हमारे पास एक नया उप-ऑब्जेक्ट है और किसी भी स्तर पर code प्रॉपर्टी एक विशिष्ट युग्म को दर्शाता है।
हम इस समस्या को पुनरावर्ती दृष्टिकोण का उपयोग करके हल कर सकते हैं।
हम स्ट्रिंग पर पुनरावर्ती रूप से पुनरावृति करेंगे ताकि विशिष्ट युग्म को चुन सकें और उसके लिए एक नया उप-ऑब्जेक्ट असाइन कर सकें।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं:
उदाहरण
इसका कोड निम्नलिखित होगा:
const str = "AABBCCDDEE";
const constructObject = str => {
const res = {};
let ref = res;
while(str){
const words = str.substring(0, 2);
str = str.substr(2, str.length);
ref.code = words;
ref.sub = {};
ref = ref.sub;
};
return res;
};
console.log(JSON.stringify(constructObject(str), undefined, 4));
आउटपुट
कंसोल में आउटपुट होगा:
{
"code": "AA",
"sub": {
"code": "BB",
"sub": {
"code": "CC",
"sub": {
"code": "DD",
"sub": {
"code": "EE",
"sub": {}
}
}
}
}
}