We are required to write a JavaScript function that takes in a number. The function should return the smallest number that can be formed rearranging the digits of the number.
For example −
If the input number is −
const num = 614532;
Then the output should be −
const output = 123456;
The only condition is that we can neither use any String methods nor any array to store data.
Example
The code for this will be −
const num = 614532;
const sortDigits = num => {
const getDigit = e => Math.floor(num / 10 ** e) % 10;
const l = Math.ceil(Math.log10(num)) − 1;
let e = l;
while (e−−) {
const left = getDigit(e + 1);
const right = getDigit(e);
if (left <= right){
continue;
};
num += (right − left) * 9 * 10 ** e;
e = l;
};
return num;
}
console.log(sortDigits(num));Output
And the output in the console will be −
123456