JavaScript - No comprendo este código. Por favor, explíquenmelo

   
Vista:
Imágen de perfil de Paquito

No comprendo este código. Por favor, explíquenmelo

Publicado por Paquito (7 intervenciones) el 14/04/2017 19:46:55
Soy un novato en Javascript y estoy haciendo un curso en CodeCademy ( https://www.codecademy.com/learn/web ).
Hasta ahora, me voy defendiendo. Me está costando, pero me defiendo.
Sin embargo, a veces hay códigos que no comprendo. Seguro que vosotros os parecerá poco menos que infantil este que os pongo aquí, pero necesito saber cómo funciona de forma exacta.
Por más vueltas que le doy, no le encuentro la lógica del todo.
El código, es este:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>PlantillaJScript</title>
 
<script type="text/javascript">
var arreglo = [11 , 6, 2, 56, 32, 115, 89, 32];
var mayor = 0;
 
for (var i=0; i<arreglo.length ;i++)
{
if(arreglo[i]>mayor)
 
{
mayor=arreglo[i];
 
}
}
 
document.write(mayor);
 
</script>
</head><body><div style="text-align: left;">
<br>
PlantillaJS</div>
</body>
</html>

Comprendo parte de él, pero no comprendo cómo es capaz de "encontrar" el número mayor.

Saludos y desde ya, gracias!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

No comprendo este código. Por favor, explíquenmelo

Publicado por Alejandro (112 intervenciones) el 15/04/2017 00:42:24
Hola, lo que hace este codigo es sencillo, define un array con ocho números, (8 posiciones del array, 0 - 7) luego declara una variable llamada mayor en la cual se guardara el mayor número de los presentes en el vector anterior.
Luego el bucle for es el encargado de recorrer una a una las posiciones del array y el condicional if evalúa si el elemento actual en el array es mayor a el valor actual que tenga en ese momento la variable mayor, entonces si esto se cumple guarda el valor actual en las posición del array en la variable mayor. Osea que remplaza el valor anterior que tuviese la variable. Todo esto se ejecuta mientras existan elementos en el array i<arreglo.length. Por último se imprime el valor de la variable mayor.

Ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var arreglo = [10, 5, 31]
var mayor = 0;
 
for (var i=0; i<arreglo.length ;i++)
{
    if(arreglo[i]>mayor) {
        mayor=arreglo[i];
    }
}
 
// Ejecucion 1 
i = 0
arreglo[0] ===> 10
mayor      ===> 0
// CONDICION
arreglo[0] > mayor // TRUE
mayor = arreglo[0]
 
// Ejecucion 2
i = 1
arreglo[1] ===> 5
mayor      ===> 10
// CONDICIÓN
arreglo[1] > mayor // FALSE - mayor sigue siendo 10
 
// Ejecucion 3
i = 2
arreglo[2] ===> 31
mayor      ===> 10
// CONDICIÓN
arreglo[2] > mayor // TRUE
mayor = arreglo[2]
 
// FIN DE LA EJECUCIÓN, YA QUE TERMINA EL BUCLE 
// PORQUE NO HAY MAS ELEMENTOS EN EL ARRAY
 
document.write(mayor); // 31

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Paquito

No comprendo este código. Por favor, explíquenmelo

Publicado por Paquito (7 intervenciones) el 15/04/2017 16:25:35
¡Gracias!.
Todo es cuestión de seguir practicando.
Tengo mucho interés en aprender programación y hacerlo en diferentes lenguajes basados en C
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gustavo

No comprendo este código. Por favor, explíquenmelo

Publicado por Gustavo (2 intervenciones) el 15/04/2017 01:56:46
si te fijas va recoriendo cada elemento de la matris buscando el elemento que tenga el numero mayor, para entenderlo tienes que tener nociones de bucles y de condicionales

[11 , 6, 2, 56, 32, 115, 89, 32];
mayor=0

11 >mayor // como es verdadero le asigna a mayor=11
6>mayor //como es falso se mantiene mayor=11
2>mayor //como es falso se mantiene mayor=11
56>mayor // como es verdadero le asigna a mayor=56
32>mayor //como es falso se mantiene mayor=56
115>mayor // como es verdadero le asigna a mayor=115
89>mayor //como es falso se mantiene mayor=115
32>mayor //como es falso se mantiene mayor=115

asi al final te arroja como numero mayor 115
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Paquito

No comprendo este código. Por favor, explíquenmelo

Publicado por Paquito (7 intervenciones) el 15/04/2017 16:27:13
¡Muy claro y muchas gracias!. 8-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Paquito

No comprendo este código. Por favor, explíquenmelo

Publicado por Paquito (7 intervenciones) el 15/04/2017 16:33:14
¡Ya lo comprendí y gracias a los dos! [8-)]
Lo que hace el código, es comparar dos números y quedarse con el mayor de ellos.
Cuando termina el bucle, símplemente escribe ese número mayor de todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad