2
respuestas

Tengo un problema con el challenge del encriptador

Hola a todos! tengo un problema y es que cuando desencripto una palabra o frase directamente en la aplicacion, me la deja incompleta. Esta es la forma en que hice la lógica de la funcion desencriptar`function desencriptarTexto(mensaje){ var texto = mensaje; var textoFinal = "";

for(var i = 0; i < texto.length; i++){
    if(texto[i] == 'a'){
        textoFinal = textoFinal + "a"
        i = i + 1; 
    }
    else if(texto[i] == 'e'){
        textoFinal = textoFinal + "e"
        i = i + 4;
    }
    else if(texto[i] == 'i'){
        textoFinal = textoFinal + "i"
        i = i + 3;
    }
    else if(texto[i] == 'o'){
        textoFinal = textoFinal + "o"
        i = i + 3;
    }
    else if(texto[i] == 'u'){
        textoFinal = textoFinal + "u"
        i = i + 3;
    }    
    else{
        textoFinal = textoFinal + texto[i];
    }

}
return textoFinal;

}` tambien les paso una imagen de como se ve el "error":Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

El codigo se paso algo mal jajaja

`function desencriptarTexto(mensaje){ var texto = mensaje; var textoFinal = "";

for(var i = 0; i < texto.length; i++){
    if(texto[i] == 'a'){
        textoFinal = textoFinal + "a"
        i = i + 1; 
    }
    else if(texto[i] == 'e'){
        textoFinal = textoFinal + "e"
        i = i + 4;
    }
    else if(texto[i] == 'i'){
        textoFinal = textoFinal + "i"
        i = i + 3;
    }
    else if(texto[i] == 'o'){
        textoFinal = textoFinal + "o"
        i = i + 3;
    }
    else if(texto[i] == 'u'){
        textoFinal = textoFinal + "u"
        i = i + 3;
    }    
    else{
        textoFinal = textoFinal + texto[i];
    }

}
return textoFinal;

}`

Hola!

Me parece que muy probablemente tus incrementos en la variable i están generando que i supere el valor de texto.length por lo cual el for terminan antes de analizar tu texto completo, ya que realizan incrementos en tus if y el for realiza un incremento más.

Te recomiendo investigar sobre la función de JavaScript replace(), considero que te puede ser útil, te dejo un sitio donde podrás leer sobre dicha función

https://www.w3schools.com/jsref/jsref_replace.asp

Saludos!