Reverse a Number in JavaScript

Peel % 10, glue onto result * 10. 100 becomes 1. Trailing zeros die.

BeginnerLoop ProgramsExample 4 of 6
reverse-a-number.js
1// Method 1: Using while loop
2function reverseNumber(num) {
3 let reversed = 0;
4 let original = num;
5
6 while (num > 0) {
7 let digit = num % 10;
8 reversed = reversed * 10 + digit;
9 num = Math.floor(num / 10);
10 }
11
12 return reversed;
13}
14
15console.log("Reverse of 1234:", reverseNumber(1234));
16console.log("Reverse of 5678:", reverseNumber(5678));
17
18// Method 2: Using string conversion
19function reverseNumberString(num) {
20 return parseInt(num.toString().split('').reverse().join(''));
21}
22
23console.log("\nUsing string method:");
24console.log("Reverse of 1234:", reverseNumberString(1234));
25console.log("Reverse of 9876:", reverseNumberString(9876));
26
27// Method 3: Using array methods
28function reverseNumberArray(num) {
29 return parseInt(
30 num.toString()
31 .split('')
32 .reverse()
33 .join('')
34 );
35}
36
37console.log("\nUsing array methods:");
38console.log("Reverse of 5432:", reverseNumberArray(5432));
39
40// Method 4: Handling negative numbers
41function reverseNumberComplete(num) {
42 let isNegative = num < 0;
43 num = Math.abs(num);
44
45 let reversed = 0;
46 while (num > 0) {
47 reversed = reversed * 10 + (num % 10);
48 num = Math.floor(num / 10);
49 }
50
51 return isNegative ? -reversed : reversed;
52}
53
54console.log("\nWith negative support:");
55console.log("Reverse of -1234:", reverseNumberComplete(-1234));
56console.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

What's going on

1234 → 4321. 100 → 1, not 001. Integers do not keep leading zeros.

Strings: String(n).split('').reverse().join('') if you want the zeros as text.