How do I check if a value is a palindrome in JavaScript?
Ava W
ava w profile pic

To check if a value is a palindrome in JavaScript, you can follow these steps: 1. Convert the value to a string. If the value is not already a string, you can use thetoString() method to convert it. 2. Remove any non-alphanumeric characters and convert the string to lowercase. You can use regular expressions and string manipulation methods to achieve this. 3. Compare the string with its reverse. You can use thesplit(),reverse(), andjoin() methods to reverse the characters of the string, and then compare the reversed string with the original string using the=== operator. Here's an example implementation:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

function isPalindrome(value) {
  // Step 1: Convert value to a string
  const str = value.toString();

  // Step 2: Remove non-alphanumeric characters and convert to lowercase
  const cleanedStr = str.replace(/[^a-z0-9]/gi, '').toLowerCase();

  // Step 3: Compare the string with its reverse
  const reversedStr = cleanedStr.split('').reverse().join('');
  return cleanedStr === reversedStr;
}

// Example usage
console.log(isPalindrome('radar'));       // Output: true
console.log(isPalindrome('Hello'));       // Output: false
console.log(isPalindrome(12321));         // Output: true
console.log(isPalindrome('A man, a plan, a canal, Panama!'));  // Output: true

In this example, theisPalindrome() function checks if the input value is a palindrome. It removes non-alphanumeric characters and converts the string to lowercase before comparing it with its reversed version. The function returnstrue if the value is a palindrome andfalse otherwise.