JavaScript Program to Check for Palindrome Number (original) (raw)

Last Updated : 27 May, 2024

We are going to learn about Palindrome Numbers in JavaScript. A palindrome number is a numerical sequence that reads the same forwards and backward, It remains unchanged even when reversed, retaining its original identity.

**Example:

**Input : Number = 121
**Output : Palindrome
**Input : Number = 1331
**Output : Palindrome

There are several methods that can be used to check if a number is a Palindrome Number in JavaScript, which are listed below:

Table of Content

We will explore all the above methods along with their basic implementation with the help of examples.

Approach 1: Using String Reversal

In this approach, we Convert the number to a string. Reverse the string and compare it with the original. Return true if equal, indicating a palindrome; otherwise, false.

**Syntax:

let result = numStr.split('').reverse().join('');

**Example: In this example we are using the above-explained approach.

JavaScript `

function palindromeCheck(num) { let numStr = num.toString(); let result = numStr.split('').reverse().join(''); return numStr === result; }

console.log(palindromeCheck(121)); // true console.log(palindromeCheck(123)); // false

`

Approach 2: Using Array Every() Method

In this approach, we convert number to string, and split it into array. Check if each digit matches its counterpart in reverse order using the every method for palindrome detection.

**Syntax:

every((element, index, array) => { /* … */ })

**Example: In this example, the number is converted to a string, and then that string is split into an array of characters. The every method is used to check if every digit in the array matches its counterpart in the reversed position

JavaScript `

function palindromeCheck(number) { let numStr = number.toString(); let numArr = numStr.split(''); return numArr.every((num, index) => num === numArr[numArr.length - 1 - index]); }

// Checking the number is Palindrome console.log(palindromeCheck(121)); console.log(palindromeCheck(12321)); console.log(palindromeCheck(12345));

`

Approach 3: Using XOR Operator

In this approach, we convert number to string. Use XOR on ASCII values of corresponding characters, checking palindrome property. Return boolean value for palindrome detection.

**Syntax:

a ^ b

**Example:

JavaScript `

function palindromeCheck(number) { let numStr = number.toString(); let length = numStr.length; let result = 0; for (let i = 0; i < Math.floor(length / 2); i++) { result ^= numStr.charCodeAt(i) ^ numStr.charCodeAt(length - 1 - i); } return result === 0; }

// Checking the given number is palidrome or not console.log(palindromeCheck(121)); console.log(palindromeCheck(13531)); console.log(palindromeCheck(12345));

`

Approach 4: Using for Loop and Math.floor() Method

In this approach, we are using Math.floor method, reverse the number iteratively. Compare reversed number with original for palindrome check. Exclude negatives.

**Syntax:

for (let temp = original; temp > 0;
temp = Math.floor(temp / 10)) {
reversed = reversed * 10 + temp % 10;
};

**Example: In this example, the palindromeCheck function uses a for loop to reverse positive numbers. It compares the reversed and original numbers, returning true for palindromes and false otherwise.

JavaScript `

function palindromeCheck(number) { if (number < 0) { return false; } let original = number; let reversed = 0;

for (let temp = original; temp > 0;
    temp = Math.floor(temp / 10)) {
    reversed = reversed * 10 + temp % 10;
}

return number === reversed;

}

console.log(palindromeCheck(121)); console.log(palindromeCheck(12321)); console.log(palindromeCheck(12345));

`

Approach 5: Using Recursion

In this approach, we convert the number to a string. We then use a recursive function to check if the first and last characters of the string are the same, gradually moving towards the center of the string. If they match, the function continues checking the next pair of characters until all pairs are checked. If they don't match, it returns false.

**Example: In this example, the '**palindromeCheck' function converts the number to a string and calls the recursive function _isPalindrome with the starting and ending indices of the string.

JavaScript `

function palindromeCheck(number) { let numStr = number.toString(); return isPalindrome(numStr, 0, numStr.length - 1); }

function isPalindrome(str, start, end) { if (start >= end) return true; if (str[start] !== str[end]) return false; return isPalindrome(str, start + 1, end - 1); }

// Checking the given number is palindrome or not console.log(palindromeCheck(121)); // true console.log(palindromeCheck(12321)); // true console.log(palindromeCheck(12345)); // false console.log(palindromeCheck(1221)); // true

`

Output

true true false true