V tomto příkladu se naučíte psát program JavaScriptu, který kontroluje počet výskytů znaku v řetězci.
Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:
- Řetězec JavaScriptu
- JavaScriptový regulární výraz
Pokud zkontrolujete počet výskytů znaku „ o“ v řetězci „ school“ , bude výsledek 2 .
Příklad 1: Zkontrolovat výskyt znaku používajícího smyč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ýstup
Zadejte řetězec: škola Zadejte písmeno ke kontrole: o 2
Ve výše uvedeném příkladu je uživatel vyzván k zadání řetězce a znaku ke kontrole.
- Na začátku je hodnota proměnné count 0 .
for
Smyčka se používá k iterovat přes řetězce.charAt()
Metoda vrací znak v určeném indexu.- Pokud se během každé iterace znak v daném indexu shoduje s požadovaným znakem, pak se proměnná count zvýší o 1 .
Příklad 2: Zkontrolujte výskyt postavy pomocí Regexu
// 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ýstup
Zadejte řetězec: škola Zadejte písmeno ke kontrole: o 2
Ve výše uvedeném příkladu se regulární výraz (regex) používá k vyhledání výskytu řetězce.
const re = new RegExp(letter, 'g');
vytvoří regulární výraz.match()
Metoda vrátí pole obsahující všechny zápasy. Tadystr.match(re);
dává („o“, „o“).length
Vlastnost udává délku prvku pole.