Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exercícios do Modulo 05

Desafio 01

const saudacao = (nome) => `Seja bem vindo/a ${nome}`;

console.log(saudacao('James'));
console.log(saudacao('Caroline'));

Desafio 02

function maioridade (idade){
    if(idade >= 18) {
         console.log(`A sua idade é ${idade}, portanto você é maior de Idade`);
     } else {
         console.log(`A sua idade é ${idade}, portanto você é menor de Idade`);
     }
 }
 
 console.log(maioridade(17));
 console.log(maioridade(19));

Desafio 03

Tive um pequeno problema nesse código, não consegui fazer com que ele retornasse true no 3º exemplo, por mais que o mesmo seja um palindromo, acredito que esteja vendo palavra por palavra ao inves de fazer uma analise de toda a frase.

Se puderem me explicar o que devia ter feito para que o mesmo retorne true, serei eternamente grato, um forte abraço e agradeço de antemão.

function pali (string) {
     const revers = string.split('').reverse().join('');
     return string === revers; 
 }

 console.log(pali('esse'))
 console.log(pali('anna'))
 console.log(pali('socorram me subi no onibus em marrocos'))
 console.log(pali('caderno'))
 console.log(pali('lapiz'))

Desafio 04

function maiorNumero(x,y,z) {

    if(y > x){
        x = y;
    }

     if (z >x) {
         x = z;
     }

     return console.log(x);
 }
 maiorNumero(12,15,10);
maiorNumero(20,15,7);
 maiorNumero(20,50,39);

Desafio 05

const calculaPotencia = (base, expoente) => {
     return Math.pow(base, expoente);

 }

 console.log(calculaPotencia(4,8));
 console.log(calculaPotencia(5,3));
 console.log(calculaPotencia(2,7));
2 respostas
solução!

Oii, Kawã, tudo bem?

O problema são os espaços na frase. Quando você usa o método split(''), ele divide a string em um array de caracteres, incluindo os espaços. Então, quando você inverte e junta novamente, os espaços estão no lugar errado, fazendo com que a comparação seja falsa.

Uma solução para isso seria remover todos os espaços da string antes de fazer a comparação. Você pode fazer isso usando o método replace com uma expressão regular que corresponda a todos os espaços. Aqui um código, para você ter de exemplo:

function pali (string) {
    const semEspacos = string.replace(/\s/g, '');
    const revers = semEspacos.split('').reverse().join('');
    return semEspacos === revers; 
}

console.log(pali('socorram me subi no onibus em marrocos')) // Deve retornar true

Neste exemplo, a expressão regular \s corresponde a qualquer espaço em branco, e o g significa que queremos substituir todas as ocorrências, não apenas a primeira.

Se outra dúvida surgir, estamos aqui para te ajudar, ok?

Abraços! :)

Muito obrigado, agora consegui finalmente entender o ocorrido, um otimo dia e abraço