Looking at the title, you might think it's a simple task that any noob can complete. right??
However, the actual question was, write a function that accepts an args as a number and returns the string version of the same number, given that you cannot use string methods like function toString(), or initialise a variable with an empty string, or use any other tricks.
So we will approach this problem by keeping two points in mind
- Every number is formed from digits 0-9;
- Divide and conquer rule
- Recursion
let stringNum; const arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] let temp; function convertToString(num) { if (num > 0) { // condition will give the string but in reverse order. const dividend = num % 10; if (temp) { temp += arr[dividend]; } else { temp = arr[dividend]; } convertToString(Math.floor(num / 10)); // recursion } else { // here we will reverse the string to get the actual number in string format. for (let i = temp.length - 1; i >= 0; i--) { if (stringNum) { stringNum += temp.charAt(i); } else { stringNum = temp.charAt(i); } } } return stringNum; } const result = convertToString(125) console.log(result) // "125" Please give it a shot and let me know what you think.
Please ❤️ it and share it your with friends or colleagues. Spread the knowledge.
Thats all for now. Keep learning and have faith in Javascript❤️
Top comments (2)
man, that's insane hahahaha but it was very creative... congrats!
Thanks 😊