Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

ऑब्जेक्ट में रिकर्सिव स्ट्रिंग पार्सिंग - जावास्क्रिप्ट

<घंटा/>

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

उदाहरण के लिए -

यदि सरणी है -

const arr =[ "country.UK.level.1", "country.UK.level.2", "country.US.level.1", "country.UK.level.3"]; 

तब आउटपुट होना चाहिए -

कॉन्स आउटपुट ={"देश":[{"यूके":{"स्तर":["1", "2", "3"]}}, {"यूएस":{"स्तर":[" 1","2"]}} ]}

शर्तें

str सरणी में संग्रहीत स्ट्रिंग्स को सॉर्ट नहीं किया जाएगा और कोड उसके विरुद्ध मजबूत होना चाहिए।

स्ट्रिंग्स x.y.x.y... पैटर्न का पालन करेंगे, जहां x उस सरणी के लिए अद्वितीय होगा और y बदल सकता है। मेरे उदाहरण में देश और स्तर हमेशा वही रहेगा जो वे x स्थिति का प्रतिनिधित्व करते हैं।

इसके लिए पुनरावर्ती दृष्टिकोण की आवश्यकता होती है क्योंकि str सरणी में संग्रहीत तार किसी भी लम्बाई के हो सकते हैं। स्ट्रिंग जितनी लंबी होगी, घोंसला उतना ही गहरा होगा।

उदाहरण

निम्नलिखित कोड है -

const arr =[ "country.UK.level.1", "country.UK.level.2", "country.US.level.1", "country.UK.level.3"];const stringToObject =गिरफ्तार => { const obj ={}; arr.forEach(str => { let curr =obj; let splitted =str.split('.'); let last =splitted.pop(); let beforeLast =splitted.pop(); splitted.forEach( sub => { अगर(!curr.hasOwnProperty(sub)){ curr[sub] ={}; }; curr =curr[sub]; }); if(!curr[beforeLast]){ curr[beforeLast] =[]; }; कर्व [पहले लास्ट]। पुश (आखिरी); }); वापसी obj;};console.log(JSON.stringify(stringToObject(arr), अपरिभाषित, 4));

आउटपुट

यह कंसोल पर निम्न आउटपुट उत्पन्न करेगा -

{ "देश":{ "यूके":{ "स्तर":[ "1", "2", "3" ] }, "अमेरिका":{ "स्तर":[ "1" ] } }} 

  1. स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में कैसे बदलें?

    एक स्ट्रिंग को JavaScript ऑब्जेक्ट में बदलने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>

  1. जावास्क्रिप्ट में एक स्ट्रिंग से ऑब्जेक्ट बनाने के लिए कोड

    हमें एक ऐसा फ़ंक्शन लिखना है जो एक स्ट्रिंग को पहले और एकमात्र तर्क के रूप में लेता है और स्ट्रिंग के अद्वितीय वर्णों के आधार पर अपनी कुंजियों के साथ एक ऑब्जेक्ट का निर्माण करता है और प्रत्येक कुंजी का मान 0 पर डिफ़ॉल्ट होता है। उदाहरण के लिए:यदि इनपुट स्ट्रिंग है - const str = 'hello world!

  1. जावास्क्रिप्ट में सरणियों की सरणी को किसी वस्तु में परिवर्तित करना

    मान लीजिए कि हमारे पास सरणियों की एक सरणी है जिसमें इस तरह के क्रिकेट खिलाड़ी का प्रदर्शन शामिल है - const arr = [    ['Name', 'V Kohli'],    ['Matches', 13],    ['Runs', 590],    ['Highest', 183],    ['NO&