1
resposta

Verificação de Senha

Aqui eu quis remover um item do Array de tentativas a cada repetição, para evitar de sortear senhas repetidas:

let tentativas = ['1234', 'admin', 'secreto', 'admin123', 'senha'];
const senhaCorreta = 'senha';
let entrada = '';

for (let i = 1; i <= 3; i++) {
    let indiceSorteado = Math.floor(Math.random() * tentativas.length);
    entrada = tentativas[indiceSorteado];

    if (entrada !== senhaCorreta) {
        tentativas.splice(indiceSorteado, 1);
        console.log(`Tentativa ${i} inválida! Entrada: ${entrada}`);
    } else {
        console.log(`Acesso permitido! Entrada: ${entrada}`);
        break;
    }

    if (i === 3) {
        console.log('Máximo de tentativas atingido!');
    }
}
1 resposta

Oi, Angelo! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei bastante da sua ideia de usar splice para remover as tentativas já usadas e evitar repetições. Isso mostra um bom entendimento de como manipular arrays dinamicamente durante o loop. Também ficou claro o controle das tentativas com o for e a interrupção com break quando acerta a senha.

Uma dica interessante para o futuro é usar o método includes para verificar rapidamente se um valor existe dentro de um array, o que pode ajudar em validações. Veja este exemplo:


let lista = ['1234', 'admin', 'senha'];

let valor = 'admin';

if (lista.includes(valor)) {
    console.log('valor encontrado');
}

Esse código verifica se o valor existe dentro do array e retorna verdadeiro ou falso, facilitando decisões no fluxo do programa.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!