Почему рекурсия не работает?
Это конечно круто - публиковать код, не говоря при этом ни слова о том, что он делает, и просить найти в нём косяки. Поступлю симметрично: вот вам код рабочий - сравнивайте со своим, думайте:const digital_root = x => x > 9 ? digital_root([...`${x}`].reduce((acc, n) => acc + +n, 0)) : x;
У Number нет length.