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:
- 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) { var j = str.length-1 for(var i=0; i<str.length/2; i++){ if(str[i]!=str[j]){ return false; } j--; } return true; } var str1 = "racecar"; var str2 = "nitin"; var str3 = "Rama"; console.log(isPalindrome(str1)); console.log(isPalindrome(str2)); console.log(isPalindrome(str3)); |
Output:
true true false
Approach 2:
- 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) { var rev=""; for(var i=str.length-1; i>=0; i--){ rev+= str[i]; } if(rev==str){ return true } else{ return false; } } var str1 = "racecar"; var str2 = "nitin"; var str3 = "Rama"; console.log(isPalindrome(str1)); console.log(isPalindrome(str2)); console.log(isPalindrome(str3)); |
Output:
true true false
Approach 3:
- 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) { var rev=str.split("").reverse().join(""); if(rev == str){ return true } return false } var str1 = "racecar"; var str2 = "nitin"; var str3 = "Rama"; console.log(isPalindrome(str1)); console.log(isPalindrome(str2)); console.log(isPalindrome(str3)); |
Output:
true true false
Example: This example implements the above approach to Number
Javascript
function isPalindrome(num) { var str = num.toString(); var rev=str.split("").reverse().join(""); if(rev == str){ return true } return false } var str1 = 1234321; var str2 = 112211; var str3 = 12345; console.log(isPalindrome(str1)); console.log(isPalindrome(str2)); console.log(isPalindrome(str3)); |
Output: The Number is first converted to a string and then compared using the previous approach
true true false
To know more about How to check whether a passed string is palindrome or not in JavaScript?
