Open In App

Palindrome in JavaScript

Last Updated : 07 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

We will understand how to check whether a given value is a palindrome or not in JavaScript. A palindrome is a value that reads the same from backward or forward.

To perform this check we will use the following approaches:

Approach 1: Using for loop (efficient approach)

  • Iterate over the string from forward and backward direction
  • Check if the character match
  • Return false for the first character that does not match 
  • Return true if all the comparisons are performed and the characters match

Example: This example implements the above approach.

Javascript




function isPalindrome(str) {
    let j = str.length - 1
    for (let i = 0; i < str.length / 2; i++) {
        if (str[i] != str[j]) {
            return false;
        }
        j--;
    }
    return true;
}
 
let str1 = "racecar";
let str2 = "nitin";
let str3 = "Rama";
 
console.log(isPalindrome(str1));
console.log(isPalindrome(str2));
console.log(isPalindrome(str3));


Output

true
true
false

Approach 2: Using for loop-II

  • Initialize a variable and store the reverse of the value in it using for loop
  • Compare the original value with the reversed value
  • If both values are equal return true else return false

Example: This example implements the above approach.

Javascript




function isPalindrome(str) {
    let rev = "";
    for (let i = str.length - 1; i >= 0; i--) {
        rev += str[i];
    }
    if (rev == str) {
        return true
    } else {
        return false;
    }
}
 
let str1 = "racecar";
let str2 = "nitin";
let str3 = "Rama";
 
console.log(isPalindrome(str1));
console.log(isPalindrome(str2));
console.log(isPalindrome(str3));


Output

true
true
false

Approach 3: Using split(), reverse() and join() methods

  • Use inbuilt string methods like split() to split the string into characters array
  • Reverse the array using reverse() method
  • Join the array into a string using join() method
  • Store this value inside another variable
  • Compare the values and return true if both are equal

Example: This example implements the above approach on string

Javascript




function isPalindrome(str) {
    let rev = str.split("").reverse().join("");
 
    if (rev == str) {
        return true
    }
    return false
 
}
 
let str1 = "racecar";
let str2 = "nitin";
let str3 = "Rama";
 
console.log(isPalindrome(str1));
console.log(isPalindrome(str2));
console.log(isPalindrome(str3));


Output

true
true
false

To know more about How to check whether a passed string is palindrome or not in JavaScript?



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads