Я пытаюсь реализовать sumToOne(num)
, который многократно суммирует заданное целое число, пока сумма не станет только одним di git - и вернет этот результат one-di git.
Пример: sumToOne(928)
возвращает 1, потому что 9 + 2 + 8 = 19, затем 1 + 9 = 10, затем 1 + 0 = 1.
Все работает нормально, но мне не удалось перезвонить recursion(sum);
.
Может ли кто-нибудь указать, что мне не хватает, потому что я новичок в рекурсивной функции logi c, пожалуйста?
function sumToOne(num) {
const nxNum = String(num).split('');
const length = nxNum.length;
let sum = 0;
let recursion = (sum) => {
for (let i = 0; i < length; i++) {
sum += + +nxNum[i];
}
if (sum < 10) {
return sum;
}
recursion(sum);
}
}
sumToOne(928);