Open In App

How to check whether a passed string is palindrome or not in JavaScript ?

In this article, we are given a string, our task is to find string is palindrome or not. A palindrome is a series of numbers, strings, or letters that, when read from right to left and left to right, match each other exactly or produce the same series of characters. in simple words when number strings or characters are inverted and still provide the same outcome as the original numbers or characters. 

Example:



Input: "race"
Output: passed string is not a palindrome
Explanation: if we write "race" in reverse that is "ecar" it not
matches with first string so it is not a palindrome.

Input: "hellolleh"
Output: passed string is palindrome.

These are the following methods by which we can check whether a passed string is palindrome or not:

Approach 1: By using a Naive Approach

Example: This example shows the use of the above-explained approach.




// function that check str is palindrome or not
function check_palindrome(str) {
    let j = str.length - 1;
    for (let i = 0; i < j / 2; i++) {
        let x = str[i];//forward character
        let y = str[j - i];//backward character
        if (x != y) {
            // return false if string not match
            return false;
        }
    }
    /// return true if string is palindrome
    return true;
 
}
 
//function that print output if string is palindrome
function is_palindrome(str) {
    // variable that is true if string is palindrome
    let ans = check_palindrome(str);
    //condition checking ans is true or not
    if (ans == true) {
        console.log("passed string is palindrome ");
    }
    else {
        console.log("passed string not a palindrome");
    }
}
// test variable
let test = "racecar";
is_palindrome(test);

Output
passed string is palindrome 

Approach 2: By reversing the string

Another approach is to reverse a string and check if the initial string matches the reverse string or not.

Follow the following steps : 

Example: This example shows the use of the above-explained approach.




// function to reverse the string
function reverse(str) {
    // variable holds reverse string
    let rev_str = "";
    for (let i = str.length - 1; i >= 0; i--) {
        rev_str += str[i];
    }
    // return reverse string
    return rev_str;
}
 
//  function checking string is palindrome or not
function is_palindrome(str) {
    reverse_str = reverse(str);
    //  condition checking if reverse str is
    // same as string it is palindrome
    // else not a palindrome
    if (reverse_str === str) {
        console.log("passed string is palindrome ");
    }
    else {
        console.log("passed string is not palindrome")
    }
}
let test = "hellolleh";
is_palindrome(test);

Output
passed string is palindrome 

Approach 3: Uses the split(), reverse(), and join() Methods

Another approach, which is through the shortest approach, uses the split(), reverse(), and join() methods.

Example: Below is the implementation of the above approach:




// JavaScript code in order to check string palindrome...
 
let checkPalindrome = (stringg) => {
    return stringg === stringg.split("").reverse().join("");
};
 
console.log("Is Palindrome? : " + checkPalindrome("noon"));
console.log("Is Palindrome?: " + checkPalindrome("apple"));

Output
Is Palindrome? : true
Is Palindrome?: false

Article Tags :