JavaScript
// Method 1: Using while loop
function reverseNumber(num) {
let reversed = 0;
let original = num;
while (num > 0) {
let digit = num % 10;
reversed = reversed * 10 + digit;
num = Math.floor(num / 10);
}
return reversed;
}
console.log("Reverse of 1234:", reverseNumber(1234));
console.log("Reverse of 5678:", reverseNumber(5678));
// Method 2: Using string conversion
function reverseNumberString(num) {
return parseInt(num.toString().split('').reverse().join(''));
}
console.log("\nUsing string method:");
console.log("Reverse of 1234:", reverseNumberString(1234));
console.log("Reverse of 9876:", reverseNumberString(9876));
// Method 3: Using array methods
function reverseNumberArray(num) {
return parseInt(
num.toString()
.split('')
.reverse()
.join('')
);
}
console.log("\nUsing array methods:");
console.log("Reverse of 5432:", reverseNumberArray(5432));
// Method 4: Handling negative numbers
function reverseNumberComplete(num) {
let isNegative = num < 0;
num = Math.abs(num);
let reversed = 0;
while (num > 0) {
reversed = reversed * 10 + (num % 10);
num = Math.floor(num / 10);
}
return isNegative ? -reversed : reversed;
}
console.log("\nWith negative support:");
console.log("Reverse of -1234:", reverseNumberComplete(-1234));
console.log("Reverse of 5678:", reverseNumberComplete(5678));Output
Reverse of 1234: 4321 Reverse of 5678: 8765 Using string method: Reverse of 1234: 4321 Reverse of 9876: 6789 Using array methods: Reverse of 5432: 2345 With negative support: Reverse of -1234: -4321 Reverse of 5678: 8765
This program demonstrates different methods to reverse a number.
Method 1: Mathematical Approach
Using modulo and division:
javascriptwhile (num > 0) { let digit = num % 10; // Get last digit reversed = reversed * 10 + digit; // Add to reversed num = Math.floor(num / 10); // Remove last digit }
How it works:
- Extract last digit:
num % 10 - Add to reversed:
reversed * 10 + digit - Remove last digit:
Math.floor(num / 10)
Example: 1234
- Iteration 1: digit=4, reversed=4, num=123
- Iteration 2: digit=3, reversed=43, num=12
- Iteration 3: digit=2, reversed=432, num=1
- Iteration 4: digit=1, reversed=4321, num=0
Method 2: String Conversion
Convert to string, reverse, convert back:
javascriptnum.toString().split('').reverse().join('')
String Methods:
toString(): Number to stringsplit(''): String to arrayreverse(): Reverse arrayjoin(''): Array to stringparseInt(): String to number
Method 3: Array Methods
Same as Method 2, more explicit:
javascriptnum.toString() .split('') .reverse() .join('')
Method 4: Negative Number Support
Handle negative numbers:
javascriptlet isNegative = num < 0; num = Math.abs(num); // Make positive // ... reverse logic ... return isNegative ? -reversed : reversed;
Math Methods:
Math.abs(): Absolute valueMath.floor(): Round down
When to Use:
-
Mathematical: Learning, efficient
-
String: Simple, readable
-
Array: Functional style