V tomto příkladu se naučíte psát program JavaScriptu, který kontroluje, zda je řetězec palindrom nebo ne.
Abyste pochopili tento příklad, měli byste znát následující programovací témata JavaScriptu:
- Řetězec JavaScriptu
- Funkce a výrazy funkcí JavaScriptu
Řetězec je palindrom, pokud se čte stejně dopředu i dozadu. Například táta čte totéž buď zepředu, nebo zezadu. Slovo otec je tedy palindrom. Podobně je madam také palindrom.
Příklad 1: Zkontrolujte použití Palindromu pro smyčku
// program to check if the string is palindrome or not function checkPalindrome(str) ( // find the length of a string const len = string.length; // loop through half of the string for (let i = 0; i < len / 2; i++) ( // check if first and last string are same if (string(i) !== string(len - 1 - i)) ( return 'It is not a palindrome'; ) ) return 'It is a palindrome'; ) // take input const string = prompt('Enter a string: '); // call the function const value = checkPalindrome(string); console.log(value);
Výstup
Zadejte řetězec: madam Je to palindrom
Ve výše uvedeném programu checkPalindrome()
přijímá funkce vstup od uživatele.
- Délka řetězce se vypočítá pomocí
length
vlastnosti. for
Smyčka se používá k opakovat až do poloviny řetězce.if
Podmínka se používá pro ověření, zda první a příslušné poslední znaky jsou stejné. Tato smyčka pokračuje až do poloviny řetězce.- Během iterace není-li jakýkoli znak řetězce ve srovnání s odpovídajícím posledním řetězcem stejný, řetězec se nepovažuje za palindrom.
Příklad 2: Zkontrolujte Palindrome pomocí vestavěných funkcí
// program to check if the string is palindrome or not function checkPalindrome(str) ( // convert string to an array const arrayValues = string.split(''); // reverse the array values const reverseArrayValues = arrayValues.reverse(); // convert array to string const reverseString = reverseArrayValues.join(''); if(string == reverseString) ( console.log('It is a palindrome'); ) else ( console.log('It is not a palindrome'); ) ) //take input const string = prompt('Enter a string: '); checkPalindrome(string);
Výstup
Zadejte řetězec: ahoj To není palindrom
Ve výše uvedeném programu je palindrom kontrolován pomocí vestavěných metod dostupných v JavaScriptu.
split('')
Metoda převede řetězec na jednotlivé znaky pole.const arrayValues = string.split(''); // ("h", "e", "l", "l", "o")
reverse()
Metoda obrátí pozici v matici.// ("o", "l", "l", "e", "h") const reverseArrayValues = arrayValues.reverse();
join('')
Metoda spojuje všechny prvky pole do řetězce.const reverseString = reverseArrayValues.join(''); // "olleh"
- Potom se
if… else
příkaz používá ke kontrole, zda jsou řetězec a obrácený řetězec stejné. Pokud jsou stejné, řetězec je palindrom.
Poznámka : Více řádků kódu lze zmenšit a zapsat do jednoho řádku:
const reverseString = string.split('').reverse().join('');