समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग str लेता है। हमारा फ़ंक्शन स्ट्रिंग में वर्णमाला को उनसे पहले की संख्याओं के आधार पर मान्य करेगा। हमें स्ट्रिंग को संख्याओं से विभाजित करना होगा, और फिर संख्याओं की तुलना बाद के उपस्ट्रिंग में अक्षरों की संख्या से करनी होगी। यदि वे सभी मेल खाते हैं, तो स्ट्रिंग मान्य है और हमें true लौटाना चाहिए, अन्यथा false।
उदाहरण के लिए:
5hello4from2me
true लौटाना चाहिए
क्योंकि संख्याओं से विभाजित करने पर स्ट्रिंग 'hello', 'from', 'me' बन जाती है और ये सभी स्ट्रिंग्स उनसे पहले की संख्या के समान लंबाई की हैं।
उदाहरण
निम्न कोड देखें:
const str = '5hello4from2me'; const validateString = (str = '') => { const lenArray = []; let temp = ''; for(let i = 0; i < str.length; i++){ const el = str[i]; if(+el){ lenArray.push([+el, '']); }else{ const { length: len } = lenArray; lenArray[len - 1][1] += el; }; }; return lenArray.every(sub => sub[0] === sub[1].length); }; console.log(validateString(str));आउटपुट
निम्न कंसोल आउटपुट है:
true