@historydev
Острая аллергия на анимешников

Почему рекурсия не работает?

Разминаю булки на codewars. Скажите пожалуйста (намёк) где я ошибку допустил, хоть номер строки. Подумаю сам посижу.

function digital_root(n) {

  let res = [];

  function getResult(num) {
  
    let result = num.toString().split('').reduce((sum, current) => {
  
      let count = +sum + +current;   
      
      if(count.length > 1) getResult(count);
    
      return count;
      
    });
    
    return result;
    
  }
  
  return getResult(n);
}
  • Вопрос задан
  • 290 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Это конечно круто - публиковать код, не говоря при этом ни слова о том, что он делает, и просить найти в нём косяки. Поступлю симметрично: вот вам код рабочий - сравнивайте со своим, думайте:

const digital_root = num => num > 9
  ? digital_root([...`${num}`].reduce((acc, n) => acc + +n, 0))
  : num;
Ответ написан
Aetae
@Aetae Куратор тега JavaScript
Тлен
У Number нет length.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы