JavaScript-program til kontrol af, om en streng er palindrom eller ej

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 lengthegenskaben.
  • Den forløkke bruges til at iterere op til halvdelen af strengen. Den iftilstand 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… elsebruges 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('');

Interessante artikler...