Добро пожаловать в третью запись в блоге о классических алгоритмах JavaScript! Сегодня мы рассмотрим задачу Палиндром и способы ее решения. Это считается одним из самых популярных вызовов JavaScript, поэтому вы можете быть уверены, что его могут задать вам на конкурсе кодирования на должность младшего разработчика. Чтобы понять, как решить эту задачу, мы сначала должны понять, что такое палиндром 👉

Палиндром — это слово, число, фраза или другая последовательность символов, которая читается одинаково как в прямом, так и в обратном порядке, например, мадам, гоночная машина. Существуют также числовые палиндромы, в том числе метки даты/времени с использованием коротких цифр 11/11/11 11:11 и длинных цифр 02/02/2020. Палиндромы длины предложения игнорируются. заглавные буквы, пунктуация и границы слов.

Вызов

Напишите функцию, которая возвращает true, если предоставленное слово (строка) является палиндромом, и false, если это не так.

Пример

Решение

Решение этой задачи состоит из 2 частей:

  1. Поскольку мы знаем, что палиндром один и тот же в прямом и обратном направлениях, нам нужно сначала перевернуть строку. Чтобы его развернуть, нам нужно будет предварительно запустить на нем .split(""), что превратит нашу строку в массив, где каждый символ строки станет отдельным элементом этого массива. Мы должны сделать это, потому что в JavaScript нет встроенного метода для реверсирования строки, однако он есть для массивов. (Я написал целый отдельный блог о том, как мы можем перевернуть строку, если вы еще не видели, пожалуйста, посмотрите здесь). После разделения строки на массив мы можем запустить для нее встроенный метод .reverse(""), чтобы обратить ее. После того, как наш массив будет перевернут, мы запустим для него встроенный метод .join(""), чтобы соединить все элементы массива обратно в строку.
  2. Вторая часть решения состоит в создании условного оператора, сравнивающего, равен ли обратный результат первого шага предоставленному аргументу строки, которую мы проверяем.

Давайте, наконец, посмотрим, как все это объединяется в коде 👉

Если мы проверим нашу консоль, мы увидим 👉

Вот оно! Быстрое и простое решение этой классической алгоритмической задачи с помощью мощного JavaScript!🤩 🥳

Ресурсы