Reverse Order

without converting integer to string array

by dpnminh

HTML

<div>
  <input name="number" id="input-number" type="number" placeholder="Enter a number">
  <button onclick="perform()">
  Get Reverse Order
  </button>
</div>
<div>
  <span id="result"></span>
</div>

JavaScript

function ReverseOrder(number){
   // if (number < -2147483648 || number > 2147483647) return 0;
    
	if (number === 0 || !Number.isInteger(number)) return number;
  
	var x = 1, result = 0; stop = false, absNumber = Math.abs(number);
  
  while (stop === false){
  	var mod = 10 ** x, div = 10 ** (x - 1), remainder = absNumber % mod;
    
    stop = absNumber === remainder;
    
    var digit = Math.floor(remainder / div);
    result = result * 10 + digit;
    
    x++;
  }
  
 	if (number < 0) result = -result;
  
  return result;
}

function perform(){
	var number = document.getElementById('input-number').value;
  
  var result = ReverseOrder(parseInt(number));
  
  document.getElementById('result').innerHTML = result;
}