Oi, Rafael! Tudo bem?
Para voltar à mensagem anterior quando o usuário responder com um dia da semana que não existe, podemos utilizar a estrutura de repetição "while
" em conjunto com a função "includes
" para verificar se o dia informado está na lista de dias válidos. Deixando o noso código da seguinte maneira:
// Solicita ao usuário que insira o dia da semana
let QualDia = prompt('Que dia da semana é hoje?');
// Array contendo os dias da semana válidos
let diasValidos = ['segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado', 'domingo'];
// Loop enquanto a entrada do usuário não for um dia válido
while (!diasValidos.includes(QualDia.toLowerCase())) {
// Se a entrada não for válida, pede ao usuário para inserir um dia válido
QualDia = prompt('Este dia da semana não existe. Por favor, informe um dia válido:');
}
// Verifica se o dia é sábado ou domingo e exibe a mensagem apropriada
if (QualDia.toLowerCase() === 'sábado' || QualDia.toLowerCase() === 'domingo') {
alert('Bom fim de semana');
} else {
// Se não for sábado ou domingo, exibe uma mensagem desejando uma boa semana
alert('Boa semana');
}
Nesse código, criamos um array chamado "diasValidos
" que contém todos os dias da semana. Em seguida, utilizamos o laço de repetição "while
" para verificar se o dia informado pelo usuário está na lista de dias válidos. Caso não esteja, o usuário será solicitado a informar um dia válido novamente.
Somado a isso, para ficar mais clara a compreensão do código, no trecho diasValidos.includes(QualDia.toLowerCase()):
estamos verificando se o valor armazenado na variável QualDia
, após ser convertido para letras minúsculas usando .toLowerCase()
, está contido no array diasValidos
. O método .includes()
retorna true
se o valor estiver presente no array e false
caso contrário. Portanto, esta expressão verifica se a entrada do usuário é um dia de semana válido.
Já o operador ! é um operador de negação, ele inverte o valor lógico da expressão que o segue. Ou seja, se a entrada do usuário não for um dia de semana válido, essa expressão será avaliada como true.
Depois disso, continuamos com a mesma lógica do código original para exibir a mensagem correspondente ao dia informado.
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓