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

एक स्ट्रिंग जावास्क्रिप्ट की nth घटना को बदलने के लिए एक पॉलीफ़िल बनाएं

<घंटा/>

मान लीजिए, हमने एक पॉलीफ़िल फ़ंक्शन बनाया है removeStr() जो तीन तर्कों को लेता है, अर्थात् -

  • subStr → जिस स्ट्रिंग को हटाना है उसकी घटना

  • num → यह एक संख्या (num) है subStr की घटना को स्ट्रिंग से हटाया जाना है

यदि स्ट्रिंग से सबस्ट्रेट को हटाना सफलतापूर्वक था, तो फ़ंक्शन को नया वापस करना चाहिए, अन्यथा इसे सभी मामलों में -1 वापस करना चाहिए।

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

const str = 'drsfgdrrtdr';
console.log(str.removeStr('dr', 3));

अपेक्षित आउटपुट -

'drsfgdrrt'

आइए इसके लिए कोड लिखें -

उदाहरण

const str = 'drsfgdrrtdr';
const subStr = 'dr';
const num = 2;
removeStr = function(subStr, num){
   if(!this.includes(subStr)){
      return -1;
   }
   let start = 0, end = subStr.length;
   let occurences = 0;
   for(; ;end < this.length){
      if(this.substring(start, end) === subStr){
         occurences++;
      };
      if(occurences === num){
         return this.substring(0, start) + this.substring(end,
         this.length);
      };
      end++;
      start++;
   }
   return -1;
}
String.prototype.removeStr = removeStr;
console.log(str.removeStr(subStr, num));

आउटपुट

कंसोल में इस कोड का आउटपुट होगा -

drsfgrtdr

कोड को समझना -

  • रिमूवस्ट्र () फंक्शन सबसे पहले यह जांचता है कि क्या सबस्ट्रेट की एक भी घटना नहीं हुई है, तो हमें बाहर निकलकर -1 लौटना चाहिए।

  • फिर यह सबस्ट्रिन स्ट्रिंग की घटनाओं की संख्या को रिकॉर्ड करने के लिए स्लाइडिंग विंडो एल्गोरिदम का उपयोग करता है (विंडो का आकार सबस्ट्र की लंबाई के बराबर होता है)।

  • प्रारंभ में हम सबसे बाईं खिड़की से शुरू करते हैं फिर हम अपनी खिड़की को तब तक खिसकाते रहते हैं जब तक कि खिड़की का अंत मूल स्ट्रिंग के अंत तक नहीं पहुंच जाता।

  • यदि हमारे तरीके से, घटनाओं की संख्या आवश्यक घटना के बराबर होती है, तो हम उस घटना को स्ट्रिंग से ट्रिम कर देते हैं और इस प्रकार प्राप्त नई स्ट्रिंग को वापस कर देते हैं।

  • यदि हम पूरी स्ट्रिंग के माध्यम से पुनरावृति करते हैं, तो इसका मतलब है कि स्ट्रिंग में subStr की पर्याप्त घटनाएँ नहीं हैं और इस स्थिति में हमें -1 लौटना चाहिए और फ़ंक्शन से बाहर निकलना चाहिए

अंत में, हम removeStr प्रॉपर्टी को String.prototype में जोड़ते हैं ताकि हम इसे एक स्ट्रिंगफंक्शन कह सकें।


  1. जावास्क्रिप्ट में स्ट्रिंग में nवें स्थान पर एक वर्ण डालें

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक स्ट्रिंग और दूसरे तर्क के रूप में एक संख्या और तीसरे तर्क के रूप में एक एकल वर्ण लेता है, आइए इस तर्क को चार कहते हैं। संख्या सरणी की लंबाई से छोटी होने की गारंटी है। फ़ंक्शन को स्ट्रिंग में प्रत्येक n वर्णों के बाद वर्ण

  1. जावास्क्रिप्ट में कंप्रेसिंग स्ट्रिंग

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है जिसमें कुछ निरंतर दोहराए जाने वाले वर्ण हो सकते हैं। फ़ंक्शन को स्ट्रिंग को इस तरह से कंप्रेस करना चाहिए - 'wwwaabbbb' -> 'w3a2b4' 'kkkkj' -> 'k4j' और अगर कंप्रेस्ड स्ट्रिंग की लंबाई मूल स्ट्रिंग से

  1. पायथन - स्ट्रिंग में डुप्लिकेट घटना बदलें

    जब एक स्ट्रिंग में डुप्लिकेट घटना को दोहराने की आवश्यकता होती है, तो कुंजी, इंडेक्स विधि और सूची समझ का उपयोग किया जा सकता है। सूची की समझ सूची के माध्यम से पुनरावृति करने और उस पर संचालन करने के लिए एक आशुलिपि है। इंडेक्स विधि विशिष्ट मान/पुनरावृत्तीय का सूचकांक लौटाती है, नीचे उसी के लिए एक प्र