Olá, boa noite! Tudo bem?
Para este primeiro exercício do desafio eu tentei evitar alguns erros mais comuns e prováveis de acontecer, na minha concepção. Como, por exemplo:
- A escrita diferente ("Sabado", ao invés de "Sábado"; ou "domingo", ao invés de "Domingo");
- A escrita errada, de qualquer outro valor que não estivesse dentro do range aceitável ("", ou um número, ou um nome aleatório).
Para isto, busquei utilizar arrays com os nomes em um formato padrão (neste caso, maiúsculo e sem acentos) e então, antes de ser feita a comparação do valor inserido pelo usuário com os valores dos arrays, o valor de entrada é modificado para se adequar aos mesmos padrões adotados pelo array utilizado, depois disto a comparação é feita e a decisão é tomada pelo programa.
Obs.: Será que poderiam me dar um feedback, se está é uma forma viável e plausível, e pontuar melhorias para o código, por gentileza.
Então, fiz desta forma
// *PÁGINA DE DESAFIOS*
// Desafio 02.01: Dias da semana
// Autor: Allan Gomes
// Liguagem de Programação: JavaScript;
// DEFINIÇÃO DE VARIÁVEIS
const diasDeSemana = ["SEGUNDA", "TERÇA", "QUARTA", "QUINTA", "SEXTA"];
const finalDeSemana = ["SABADO", "DOMINGO"];
const semanaCompleta = diasDeSemana.concat(finalDeSemana);
console.log(semanaCompleta);
let diaEscolhido = "";
// DEFINIÇÃO DE FUNÇÕES
function mensagemDoDia(mensagem) {
a = prompt(mensagem);
console.log("Valor inserido:", a);
a = a.toUpperCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
//'.toUpperCase()' está colocando todo o texto em maiúsculo, caso o usuário decida escrever o texto todo minúsculo ou mesclado.
//'.normalize('NFD').replace(/[\u0300-\u036f]/g, '')' é utilizado para substituir os caracteres especiais inseridos pelo usuário, como acento, ç e etc. Garantindo que a informação mais importante seja conferida corretamente.
if (diasDeSemana.includes(a)) {
alert("Boa Semana!");
}
else if (finalDeSemana.includes(a)) {
alert("Bom Final de Semana!");
}
else {
alert("Este dia não foi identificado.\nTente novamente!");
}
console.log("Valor convertido:", a);
return a
}
// PROGRAMA PRINCIPAL
alert("Boas vindas ao nosso site!");
while (!semanaCompleta.includes(diaEscolhido)) {
diaEscolhido = mensagemDoDia("Diga-nos qual dia é hoje:");
console.log("É um dia da semana?", semanaCompleta.includes(diaEscolhido));
}
Atenciosamente, Allan Gomes