AFON // радиотехник affonya@mail.ru
← Все проекты JavaScript

Проверка палиндрома

Определение палиндрома с учётом пробелов и регистра.

JS.10 · Основы

Задача

Проверить, читается ли строка одинаково в обе стороны.

Алгоритм

Строка приводится к нижнему регистру, убираются пробелы, затем сравнивается с развёрнутой копией.

Исходный код

⇩ Скачать 10-proverka-palindroma.js

// Проверка палиндрома
function isPalindrome(s) {
  const t = s.toLowerCase().replace(/\s+/g, '');
  return t === [...t].reverse().join('');
}

console.log('топот  ->', isPalindrome('топот'));
console.log('а роза упала ->', isPalindrome('а роза упала на лапу азора'));
console.log('привет ->', isPalindrome('привет'));

Пояснения

[...t] корректно разбивает строку на символы, включая юникод; reverse().join склеивает обратно.