1
resposta

Atividade 3 e 4

/**
 * Função que verifica se uma palavra ou frase é um palíndromo.
 * Retorna true (verdadeiro) ou false (falso).
 */
function verificarPalindromo(texto) {
    // 1. LIMPEZA DO TEXTO
    // O toLowerCase() transforma tudo em minúsculo.
    // O replace(/\s/g, '') é um filtro que encontra todos os espaços vazios e os remove.
    let textoLimpo = texto.toLowerCase().replace(/\s/g, '');

    // 2. INVERSÃO DO TEXTO
    // .split('') = Corta a palavra transformando cada letra em um item de uma lista.
    // .reverse() = Inverte a ordem dessa lista.
    // .join('') = Junta todas as letras de volta em uma única palavra.
    let textoInvertido = textoLimpo.split('').reverse().join('');

    // 3. COMPARAÇÃO
    // Se o texto limpo for exatamente igual a ele mesmo invertido, é um palíndromo!
    if (textoLimpo === textoInvertido) {
        console.log(`"${texto}" é um palíndromo! ✅`);
        return true;
    } else {
        console.log(`"${texto}" NÃO é um palíndromo. ❌`);
        return false;
    }
}

// Testando a função no console:
verificarPalindromo("Ovo");
verificarPalindromo("A base do teto desaba");
verificarPalindromo("Javascript");
/**
 * Função que recebe três números independentes e os retorna
 * em uma lista ordenada do menor para o maior (ordem crescente).
 */
function ordenarNumeros(num1, num2, num3) {
    // 1. CRIANDO A LISTA (ARRAY)
    // Agrupamos os três números soltos dentro de colchetes para formar uma lista
    let listaDeNumeros = [num1, num2, num3];

    // 2. ORDENANDO OS NÚMEROS
    // A função .sort() vai pegar os números de 2 em 2 (chamados aqui de 'a' e 'b')
    // A regra (a - b) diz ao computador: "Se o resultado for negativo, o 'a' vem primeiro".
    // Isso garante que a lista fique em ordem matemática crescente.
    listaDeNumeros.sort((a, b) => a - b);

    // 3. RETORNANDO O RESULTADO
    return listaDeNumeros;
}

// Testando a função e exibindo os números ordenados:
let resultadoOrdenado = ordenarNumeros(85, 12, 42);

// Exibindo no console com uma mensagem amigável:
console.log(`Os números em ordem crescente são: ${resultadoOrdenado.join(', ')}`);
1 resposta

Oii, Lucas!

É muito bom ver como você tá aprofundando seus conhecimentos. Você mostrou um domínio excelente sobre manipulação de strings e arrays em JavaScript.

Suas explicações nos comentários mostram que você entendeu o "porquê" de cada comando, o que é fundamental para um bom desenvolvedor.

Sua estratégia de limpeza de dados foi muito inteligente. O uso do replace(/\s/g, '') com Regex (Expressões Regulares) é a forma ideal de garantir que frases complexas (como "A base do teto desaba") sejam validadas corretamente, ignorando espaços que poderiam quebrar a lógica.

Trabalhar com o método .sort() pode ser um pouco confuso no início, pois por padrão o JavaScript ordena elementos como strings. Ao utilizar a função de comparação (a, b) => a - b, você garantiu que a ordenação fosse estritamente numérica, o que evita erros comuns (como o número 10 vir antes do 2).

Continue firme nos estudos.

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