1
resposta

[Dúvida] tem alguma forma de perguntar os dias da semana, com letra maiúcula ou acento, sem expecificar, item por item?

diaDaSemana = prompt ('Qual dia da semana?').toLowerCase(); if (diaDaSemana === 'sábado' || diaDaSemana === 'sabado' || diaDaSemana === 'Sábado' || diaDaSemana === 'Sabado' || diaDaSemana === 'domingo') { alert('Bom fim de semana!'); } else { alert('Boa semana!'); }

1 resposta

Oii, Barbara!

Uma solução pra isso é usar a função normalize() para tratar os acentos e a função toLowerCase() para padronizar as letras minúsculas.

function removerAcentos(texto) {
    return texto.normalize('NFD').replace(/[\u0300-\u036f]/g, "");
}

let diaDaSemana = prompt('Qual dia da semana?');
diaDaSemana = removerAcentos(diaDaSemana).toLowerCase();

if (diaDaSemana === 'sabado' || diaDaSemana === 'domingo') {
    alert('Bom fim de semana!');
} else {
    alert('Boa semana!');
}

A função removerAcentos utiliza normalize('NFD') pra decompor os caracteres acentuados e replace para remover os diacríticos. Isso permite que você trate todas as variações de acentos e maiúsculas de forma uniforme. Assim, você só precisa verificar as versões sem acento e em minúsculas.

Espero ter ajudado.

Um abraço e bons estudos.