How Do You Check Palindrome in JavaScript?


A palindrome in JavaScript is a string that reads the same backward and forward, like “madam” or “racecar.” You can check palindrome in JavaScript by reversing the string and comparing it with the original using simple JS methods.

Palindromes aren’t just fun wordplay—they’re widely used in coding interviews and practical applications like data validation, DNA sequencing, and text analysis. In JavaScript, checking for palindromes is a common beginner problem that helps you master string manipulation, logic building, and array methods.

Key Takeaways

Quick Check Palindrome in JavaScript

  • Definition → A string that reads the same forwards and backwards.
  • Method 1 → Reverse the string and compare.
  • Method 2 → Use two-pointer technique for efficiency.
  • Example → “madam” → Palindrome ✔ | “hello” → Not Palindrome ❌

What is a Palindrome in JavaScript?

A palindrome is a word, phrase, number, or sequence that reads the same forward and backward. Common examples include:

  • "madam" → Palindrome
  • "racecar" → Palindrome
  • "hello" → Not a Palindrome

In JavaScript, we can easily check if a string is a palindrome by manipulating and comparing it.

Methods to Check Palindrome in JavaScript

Method 1: Reverse and Compare

The most straightforward approach is to reverse the string and compare it with the original. If both are the same, the string is a palindrome.

Code Example:

function isPalindrome(str) {
  const reversed = str.split('').reverse().join('');
  return str === reversed;
}

console.log(isPalindrome("madam"));  // true
console.log(isPalindrome("hello"));  // false
  • This JavaScript function checks whether a string is a palindrome.
  • function isPalindrome(str) defines a function that takes a string str as input.
  • str.split('') converts the string into an array of individual characters.
  • .reverse() reverses the order of the array elements.
  • .join('') combines the reversed array back into a string.
  • return str === reversed; compares the original string with the reversed string. If both are identical, the function returns true, otherwise false.
  • console.log(isPalindrome("madam")) outputs true because “madam” is a palindrome.
  • console.log(isPalindrome("hello")) outputs false because “hello” is not a palindrome.
  • You can use this function to check palindrome in JavaScript quickly and efficiently.

Output:

true
false

This method is easy to understand and implement, making it ideal for beginners.

Method 2: Two-Pointer Technique

A more efficient way is to use two pointers—one starting from the beginning of the string and the other from the end. Compare characters at both ends, and move inward until the pointers meet.

Code Example:

function isPalindromeTwoPointer(str) {
  let left = 0;
  let right = str.length - 1;

  while (left < right) {
    if (str[left] !== str[right]) {
      return false;
    }
    left++;
    right--;
  }
  return true;
}

console.log(isPalindromeTwoPointer("racecar")); // true
console.log(isPalindromeTwoPointer("world"));   // false
  • This JavaScript function isPalindromeTwoPointer checks whether a string is a palindrome.
  • Two pointers, left and right, are initialized at the start and end of the string.
  • A while loop runs as long as left is less than right.
  • Inside the loop, the characters at left and right are compared.
  • If the characters don’t match, the function immediately returns false, indicating the string is not a palindrome.
  • After each comparison, left is incremented and right is decremented to move inward.
  • If all character comparisons pass, the function returns true.
  • You can check palindrome in JavaScript efficiently with this method, avoiding extra memory usage from reversing strings.

Output:

true
false

This method avoids creating a reversed copy of the string, making it more memory-efficient for large strings.

Check Palindrome in JavaScript: Pros & Cons

MethodProsCons
Reverse & CompareEasy, beginner-friendlyUses extra memory
Two-Pointer TechniqueEfficient, no extra memorySlightly complex to code

Practical Uses: Check Palindrome in JavaScript

Are you curious about how companies might use palindrome checks in JavaScript? Let’s explore some real-world scenarios.

  1. Web Development Analytics – Google
    Google uses a variety of analytical tools. One interesting approach they might employ is using palindrome checks to manage text data within developer tools or internal databases. Palindrome-checking can help optimise text processing or ensure data integrity.
    function isPalindrome(str) {
    const reversed = str.split('').reverse().join('');
    return str === reversed;
    }

    console.log(isPalindrome('radar')); // Output: true
  2. Data Validation – Amazon
    Companies like Amazon may use palindrome validations to check for symmetry in order codes or encrypted messages. If a particular code is a palindrome, it might follow a specific classification within their system.
    function validateOrderCode(code) {
    return code === code.split('').reverse().join('');
    }

    console.log(validateOrderCode('12321')); // Output: true
  3. SEO Optimization – Twitter
    Twitter or similar platforms might implement palindrome checks as part of SEO strategies, ensuring that particular tags or identifiers are unique yet echoic. This could potentially improve their algorithm for trending topics or hashtags.
    const checkHashtag = (tag) => tag === tag.split('').reverse().join('');

    console.log(checkHashtag('#anna')); // Output: true

The magic of palindromes can really show its use in data processing, improving efficiency and accuracy!

Check Palindrome in JavaScript- Interview Questions

  1. What is the simplest way to check for a palindrome in JavaScript?
    To check if a string is a palindrome the simplest way, you can use a one-liner by reversing the string and comparing it to the original. Here’s a basic example:

    function isPalindrome(str) {
    const reversed = str.split('').reverse().join('');
    return str === reversed;
    }

    This code splits the string into an array, reverses it, joins it back into a string, and checks if it equals the original.

  2. Can palindrome logic be implemented in one line in JavaScript?
    Yes! As shown above, you can use a single line within the function to achieve this.

  3. How to handle palindromes with spaces and punctuation in JavaScript?
    You can first remove non-alphanumeric characters and convert the string to lowercase:

    function isPalindrome(str) {
    str = str.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
    return str === str.split('').reverse().join('');
    }

    This approach makes it easy to focus purely on letters and numbers.

  4. Why use the replace() method when checking for palindromes?
    Using replace() ensures that special characters and spaces do not interfere with the palindrome check, making the function more robust and effective.

  5. How does recursion work in palindrome checks for JavaScript?
    A recursive approach involves checking characters at the beginning and end, respectively, moving inward:

    function isPalindrome(str) {
    if (str.length <= 1) return true;
    if (str[0] !== str[str.length - 1]) return false;
    return isPalindrome(str.slice(1, -1));
    }

    This method continues to reduce the string size until it’s fully checked.

  6. How to optimize palindrome functions for long strings in JavaScript?
    Start comparing characters from both ends and exit early if mismatches are found to enhance performance:

    function isPalindrome(str) {
    let left = 0, right = str.length - 1;
    while (left < right) {
    if (str[left] !== str[right]) return false;
    left++;
    right--;
    }
    return true;
    }

    This minimizes unnecessary iterations.

  7. Could a stack be used for palindrome checks and why?
    Yes, a stack data structure can reverse the string for comparison because it uses LIFO (Last In, First Out) that aligns with reversing characteristics:

    function isPalindrome(str) {
    const stack = [];
    for (let char of str) {
    stack.push(char);
    }
    for (let char of str) {
    if (char !== stack.pop()) return false;
    }
    return true;
    }

    This mirrors the traditional approach of reversing using code logic.

Explore instant coding with our AI-powered js online compiler. Write, run, and test code seamlessly with built-in AI assistance. It’s designed for efficiency, helping you code smarter and faster. Whether you’re a newbie or a pro, our compiler offers the perfect platform to enhance your coding skills.

Conclusion

Completing the “Check Palindrome in JavaScript” exercise boosts coding confidence, enhances problem-solving skills, and solidifies understanding of string manipulation. Give it a try and unlock countless programming possibilities! For more on Java, Python, C, and beyond, explore Newtum and broaden your coding expertise.

Edited and Compiled by

This article was compiled and edited by @rasikadeshpande, who has over 4 years of experience in writing. She’s passionate about helping beginners understand technical topics in a more interactive way.

About The Author