V tomto príklade sa naučíte písať program JavaScript, ktorý kontroluje počet výskytov znaku v reťazci.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku JavaScript:
- Reťazec JavaScript
- JavaScriptový regulárny výraz
Ak v reťazci „ school“ skontrolujete počet výskytov „ o “ , výsledok bude 2 .
Príklad 1: Skontrolujte výskyt znaku používajúceho slučku
// program to check the number of occurrence of a character function countString(str, letter) ( let count = 0; // looping through the items for (let i = 0; i < str.length; i++) ( // check if the character is at that position if (str.charAt(i) == letter) ( count += 1; ) ) return count; ) // take input from the user const string = prompt('Enter a string: '); const letterToCheck = prompt('Enter a letter to check: '); //passing parameters and calling the function const result = countString(string, letterToCheck); // displaying the result console.log(result);
Výkon
Zadajte reťazec: škola Zadajte písmeno na kontrolu: o 2
Vo vyššie uvedenom príklade je používateľ vyzvaný na zadanie reťazca a znaku, ktorý má skontrolovať.
- Na začiatku je hodnota premennej count 0 .
for
Slučka sa používa na iterovat cez reťazca.charAt()
Metóda vracia znak v určenom indexu.- Ak sa počas každej iterácie znak v danom indexe zhoduje s požadovaným znakom, potom sa premenná count zvýši o 1 .
Príklad 2: Skontrolujte výskyt znaku pomocou regulárneho výrazu
// program to check the occurrence of a character function countString(str, letter) ( // creating regex const re = new RegExp(letter, 'g'); // matching the pattern const count = str.match(re).length; return count; ) // take input from the user const string = prompt('Enter a string: '); const letterToCheck = prompt('Enter a letter to check: '); //passing parameters and calling the function const result = countString(string, letterToCheck); // displaying the result console.log(result);
Výkon
Zadajte reťazec: škola Zadajte písmeno na kontrolu: o 2
Vo vyššie uvedenom príklade sa na nájdenie výskytu reťazca používa regulárny výraz (regulárny výraz).
const re = new RegExp(letter, 'g');
vytvára regulárny výraz.match()
Metóda vráti pole obsahujúce všetky zápasy. Tustr.match(re);
dáva („o“, „o“).- Táto
length
vlastnosť udáva dĺžku prvku poľa.