Se o valor de sumaL for “333”, vc quer o resultado de 3 + 3 + 3, correto? Se for isso, daria pra fazer assim:
let sumaL = '123';
function sumDigitosDeSumL() {
return [...sumaL].reduce((acc, n) => +n + acc, 0)
}
O único problema é aquele “unknown” que vc retorna no default em convertLetras que pode atrapalhar a soma e precisa ser tratado. Uma sugestão é, já que seu programa não reconhecerá certos caracteres, vc podia retornar o valor 0 pra eles, assim não atrapalharia a função de soma e não influenciaria no resultado final justamente por valerem 0.
esse let sumaL = '123';
teria que ser colocado como variável mesmo fora da function sumDigitosDeSumL?
Mas ela já tem um valor em números que é gerado pela função sumLetras.
Deixando no código sua idéia de colocar o 0 como return default na função convertLetras, como teria que proceder para conseguir o objetivo?
Eu tentei colocando 0 como return default e fazendo isto:
let sumaL;
function sumDigitosDeSumL() {
return [sumaL].reduce((acc, n) => +n + acc, 0);
}
Acabei não levando em consideração que sumaL é um número e não uma string. Sendo assim, vc precisaria converter pra string antes de a minha solução funcionar, ficaria assim: