function mainFunc(res) {
function getDigitsSum(num) {
num = String(num);
let result = 0;
for (var i = 0; i < num.length; i++){
result += Number(num[i]);
}
return result;
}
if ( getDigitsSum(res) < 10){
return getDigitsSum(res);
}
return mainFunc(getDigitsSum(res));
}
//для примера число взял 7190
console.log(mainFunc(7190));
Такой вопрос стоял. Написать рекурсивную функцию, которая будет складывать цифры в числе до тех пор, пока не останется, собственно, однозначное число. Я написал это вот так, оно работает и даже правильно :0
Но стоит вопрос в том, рекурсивна ли эта функция?
Максимально глупый вопрос, я понимаю, но если убрать второй return то всё перестаёт работать и код выдает значение 'undefined' если за первую прокрутку не удалось получить сумму цифр менее чем 9. Почему так?