Here is my code, why it is returning 13 in place of 4:
const superNumber = (n) => {
let nums = n.toString().split('').map(Number);
let sum = parseInt(nums.reduce((x, y)=> x + y));
console.log('Nums: ',nums, 'Sum: ', sum);
if(sum > 9) {
superNumber(sum);
}
return sum;
}
let result = superNumber(148);
console.log('Ans: ', result);
Here is the console log:
- Nums: [1, 4, 8] Sum: 13
- Nums: [1, 3] Sum: 4 // Calculated sum correctly but returning the previous value
- Ans: 13