I dette eksempel lærer du at skrive et JavaScript-program, der kontrollerer, om strengen er palindrom eller ej.
For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:
- JavaScript-streng
- JavaScript-funktion og funktionsudtryk
En streng er en palindrom, hvis den læses den samme fremad eller bagud. For eksempel læser far det samme enten fremad eller bagud. Så ordet far er et palindrom. Tilsvarende er fru også et palindrom.
Eksempel 1: Kontroller palindrom ved hjælp af loop
// 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);
Produktion
Indtast en streng: fru Det er et palindrom
I ovenstående program modtager checkPalindrome()
funktionen input fra brugeren.
- Strengens længde beregnes ved hjælp af
length
egenskaben. - Den
for
løkke bruges til at iterere op til halvdelen af strengen. Denif
tilstand bruges til at kontrollere, om den første og de tilsvarende sidste tegn er de samme. Denne løkke fortsætter indtil halvdelen af strengen. - Hvis strengens karakter i sammenligning med den tilsvarende sidste streng under iteration ikke er ens, betragtes strengen ikke som et palindrom.
Eksempel 2: Kontroller Palindrome ved hjælp af indbyggede funktioner
// 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);
Produktion
Indtast en streng: hej Det er ikke et palindrom
I ovenstående program kontrolleres palindromet ved hjælp af de indbyggede metoder, der er tilgængelige i JavaScript.
- Den
split('')
metode konverterer strengen i individuelle Array tegn.const arrayValues = string.split(''); // ("h", "e", "l", "l", "o")
- Den
reverse()
metode vender position i et array.// ("o", "l", "l", "e", "h") const reverseArrayValues = arrayValues.reverse();
- Den
join('')
metode forbinder alle elementerne i et array i en streng.const reverseString = reverseArrayValues.join(''); // "olleh"
- Derefter
if… else
bruges udsagnet til at kontrollere, om strengen og den omvendte streng er ens. Hvis de er ens, er strengen et palindrom.
Bemærk : De flere kodelinjer kan reduceres og skrives på en linje:
const reverseString = string.split('').reverse().join('');