Программа на JavaScript для проверки того, является ли строка палиндромом или нет

В этом примере вы научитесь писать программу на JavaScript, которая проверяет, является ли строка палиндромом или нет.

Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:

  • Строка JavaScript
  • Функции и выражения функций JavaScript

Строка является палиндромом, если она читается одинаково вперед или назад. Например, папа читает одно и то же либо вперед, либо назад. Итак, слово папа - это палиндром. Точно так же мадам - это тоже палиндром.

Пример 1: проверка палиндрома с помощью цикла

 // 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);

Вывод

 Введите строку: мадам Это палиндром

В приведенной выше программе checkPalindrome()функция принимает ввод от пользователя.

  • Длина строки рассчитывается с использованием lengthсвойства.
  • forЦикл используется для итерации до половины строки. ifУсловие используется для проверки , если первый и соответствующие последние символы являются одинаковыми. Этот цикл продолжается до половины струны.
  • Если во время итерации какой-либо символ строки по сравнению с соответствующей последней строкой не равен, строка не считается палиндромом.

Пример 2: проверка палиндрома с помощью встроенных функций

 // 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);

Вывод

 Введите строку: привет Это не палиндром

В приведенной выше программе палиндром проверяется с помощью встроенных методов, доступных в JavaScript.

  • split('')Метод преобразует строку на отдельные символы массива.
     const arrayValues = string.split(''); // ("h", "e", "l", "l", "o")
  • reverse()Метод изменяет позицию в массиве.
     // ("o", "l", "l", "e", "h") const reverseArrayValues = arrayValues.reverse();
  • join('')Метод объединяет все элементы массива в строку.
     const reverseString = reverseArrayValues.join(''); // "olleh"
  • Затем if… elseоператор используется для проверки равенства строки и перевернутой строки. Если они равны, строка является палиндромом.

Примечание : несколько строк кода можно сократить и записать в одну строку:

 const reverseString = string.split('').reverse().join('');

Интересные статьи...