Autor Tema: for JavaScript (bucles) Saber tamaño de array con length. Break charAt CU01131E  (Leído 2162 veces)

Salvadoruve2

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
Hola de nuevo

Estoy resolviendo el prmier apartado del ejercicio CU01131E del curso básico de programación con JavaScript de aprenderaprogramar.com:

 1) Crea una función que pida una palabra al usuario y usando un bucle for y el método charAt, muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a

Letra 2: v

Letra 3: e

Con lo aprendido recientemente he creado una función con un bucle for pero no me funciona.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Bucles</title>
<meta charset="utf-8">
<script type="text/javascript">
function solicitarNombre() {

var palabra= prompt('Por favor introduzca una palabra: ');

var msg = 'Su palabra tiene las letras: \n\n';

for (var i=1; i=<palabra.length; i++){

msg = msg + 'Letra '+ i + ': '+ palabra.charAt(i-1);

alert(msg);

}


</script>
</head>
<body>
<img onclick="solicitarNombre()" src="https://nosinmimono.files.wordpress.com/2012/06/estudiando.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">
</body>
</html>

he comprobado un ejercico resuelto por pedro,, y he visto que has utilizado un elemento If else para solucionarlo. Pero me gustaría saber si es estrictamente necesario o se puede resolver de alguna manera con mi propuesta. gracias

Propuesta de pedro,,
Código: [Seleccionar]
function deletrearPalabra(){
var palabra;
var msg = 'Letra ';
palabra = prompt('Introduzca el primer nombre: ');
for(var i=1; i<=palabra.length; i++){
if(i==palabra.length){
msg = msg + i + ': ' + palabra.charAt(i-1);
}else{
msg = msg + i + ': ' + palabra.charAt(i-1) + '\nLetra ';
}
}
alert(msg);
« Última modificación: 13 de Junio 2016, 22:01 por César Krall »
Dt. Crane psychiatrist

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola Salvador.

El que yo lo resolviera con el if, es para que junto con la última letra no se almacenase un salto de línea. Así que el if no es necesario para resolver el ejercicio.

En tu ejercicio hay algunos errores.

Te falta una "}" para cerrar la función.

En el for, en esta parte "i=<palabra.length", tendría que ser menor o igual, "i<=palabra.length"

El alert, tienes que sacarlo del bucle, sino, se ejecutará tantas veces como letras tenga la cadena de texto introducida.

Y por último en línea en la que añades las letras a la variable msg, tendrías que añadir un salto de línea ,'\n'.

Saludos. ;D
« Última modificación: 05 de Junio 2016, 19:53 por pedro,, »

Salvadoruve2

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
Parece increible pero se ha solucionado solo con esos cambios.

Gracias, y espero que no me cojais manía por postear tanto en domingo..   :o
Dt. Crane psychiatrist

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".