Hi!
Con respecto al codigo intente hacerlo un tanto mas laborioso, ya que aqui ni tienen en cuenta recursividad ni historias.
Yo me había puesto a hacer cosas con arrays también, (porque me gusto el asunto para intentarlo, aunque al rato me aburri) xD
<html>
<script language="javascript">
function strToArr(str) {
var letters = new Array();
for(i = 0; i < str.length; i++)
letters[i] = str.charAt(i);
return letters;
}
function printArr(arr) {
document.write("<br>Array: [");
for(i = 0; i < arr.length; i++)
document.write(" " + arr[i]);
document.write(" ]");
return;
}
function replaceInArr(x, y, z) { // Remplaza en x, el valor y, con el valor de z
var letters = x;
for(i = 0; i < x.length; i++)
if(x[i] == y) letters[i] = z;
return letters;
}
// **************************************************
var crypt = prompt("Texto Cifrado: ");
var cryptArr = strToArr(crypt);
printArr(cryptArr);
var newcryptArr = replaceInArr(cryptArr, 'M', 'P');
printArr(newcryptArr);
</script>
</html>
Bueno, conste que falta trabajo por hacerle al code, pero hasta aca llego yo xD
Esa es "otra forma" de hacerlo.. tene en cuenta que la funcion replaceInArr() remplaza un caracter por otro, pero no guarda el caracter remplazado.. creo que vos deberias remplazar uno por otro, (o sea, lo que no hace del todo esa funcion).
Y lo que te comentaba de las funciones,, va a ser lo mejor seguro
Saludos!