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

JavaScript में स्ट्रिंग के nth ऑकरेंस को बदलने के लिए पॉलीफिल बनाएं


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

  • subStr → जिस ऑकरेंस को स्ट्रिंग से हटाना है
  • num → यह एक नंबर है (num) वां ऑकरेंस subStr का स्ट्रिंग से हटाया जाना है

यदि स्ट्रिंग से 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

कोड को समझना:

  • removeStr() फ़ंक्शन पहले जांचता है कि क्या subStr का एक भी ऑकरेंस नहीं है तो हमें बाहर निकलकर -1 लौटाना चाहिए।
  • फिर यह स्लाइडिंग विंडो एल्गोरिदम का उपयोग करके स्ट्रिंग में subStr के ऑकरेंस की संख्या रिकॉर्ड करता है (विंडो का आकार subStr की लंबाई के बराबर होता है)।
  • प्रारंभ में हम बाएं-most विंडो से शुरू करते हैं फिर हम अपनी विंडो को तब तक स्लाइड करते रहते हैं जब तक विंडो का अंत मूल स्ट्रिंग के अंत तक नहीं पहुंच जाता।
  • यदि हमारे रास्ते में, ऑकरेंस की गिनती आवश्यक ऑकरेंस के बराबर होती है, तो हम उस ऑकरेंस को स्ट्रिंग से ट्रिम करते हैं और इस प्रकार प्राप्त नई स्ट्रिंग को लौटाते हैं।
  • यदि हम पूरी स्ट्रिंग के माध्यम से पुनरावृति करते हैं, तो इसका मतलब है कि स्ट्रिंग में subStr के पर्याप्त ऑकरेंस नहीं हैं और उस स्थिति में हमें -1 लौटाकर फ़ंक्शन से बाहर निकलना चाहिए।

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


  1. - JavaScript में स्ट्रिंग के nth स्थान पर वर्ण डालना

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

  1. - JavaScript में स्ट्रिंग को संपीड़ित करना

    हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है जिसमें कुछ लगातार दोहराव वाले वर्ण हो सकते हैं। फ़ंक्शन को स्ट्रिंग को इस तरह संपीड़ित करना चाहिए: k4j और यदि संपीड़ित स्ट्रिंग की लंबाई मूल स्ट्रिंग से अधिक या बराबर है तो हमें मूल स्ट्रिंग लौटानी चाहिए। उदाहरण के लिए: aab को a2b1 में संपी

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

    जब एक स्ट्रिंग में डुप्लिकेट घटना को दोहराने की आवश्यकता होती है, तो कुंजियों, index मेथड और सूची समझ का उपयोग किया जा सकता है।सूची समझ सूची के माध्यम से पुनरावृति करने और उस पर ऑपरेशन करने का एक संक्षिप्त तरीका है।index मेथड विशिष्ट मान/इटरेबल का इंडेक्स लौटाता है।उदाहरणmy_str = Jane is the best. J