1
resposta

[Sugestão] Formatação de números interpretados por extensos

Pessoal.

Quando um número falado menor que 10 o programa pode interpretar e retornar os números por extenso (escritos), a partir da solução de um companheiro e aluno do curso alterei algumas informações no código dele para poder ficar mais legível, e utilizar menos código:

const numeros = [
    {name: 'zero zero', value: 0,},
    {name: 'zero', value: 0},
    {name:'00', value: 0,},
    {name:'um', value: 1,},
    {name:'dois', value: 2,},
    {name:'três', value: 3,},
    {name:'quatro', value: 4,},
    {name:'cinco', value: 5,},
    {name:'seis', value: 6,},
    {name:'sete', value: 7,},
    {name:'oito', value: 8,},
    {name:'nove', value: 9,},
    {name:'dez', value: 10}
]

    porExtenso = numeros.find(numero => numero.name === chute)
    
    if (porExtenso){
        chute = porExtenso.value 
    }

explicação:

1 passo: com o método find() propus uma condição de comparação para cada classe(name) do objeto com o chute dito pelo usuário, satisfeita a condição, me retornou o valor da classe(name), onde armazenei em uma variável porExtenso.

2 passo: Propus outra condição para validação e formatação do número, caso satisfeita a condição o chute do usuário passará a conter o valor da classe(value) que está dentro do item porExtens" do objeto números resgatado pelo método, caso contrário a o programa irá seguir normalmente com o fluxo sem a formatação. Peço por gentileza se puderem me dar um feedback a respeito desta explicação e legibilidade do código agradeço, e também fiquem a vontade para usar dessa ideia e criar mais validações.

1 resposta

Olá, Heltonhenriqueoliveira!

Agradeço por compartilhar sua solução e pedir feedback. Sua solução é bastante interessante e mostra que você está pensando em como otimizar seu código.

Sobre a explicação, está bastante clara. Você descreveu bem o que cada parte do código faz, o que facilita o entendimento.

Em relação à legibilidade do código, também está boa. A estrutura que você usou, com um array de objetos, facilita a leitura e a compreensão do que cada parte do código faz.

Uma sugestão, para tornar o código mais robusto, você poderia considerar adicionar algum tratamento para o caso em que o usuário diz um número por extenso que não está na sua lista. Por exemplo, você poderia adicionar uma mensagem de erro ou uma solicitação para que o usuário diga o número novamente.

Espero ter ajudado e bons estudos!