For of... Ayudaaa

Alguien acá por favor podría a ayudarme a entender o explicarme cómo funciona el “for…of” y como funciona específicamente en un “array” de números por ejemplo:

array = [75, 45, 20];

Ir = 10

For(Let num of array){

Ir = num
}

Print ( ir);


Resultado: 20

Porque coloca de resultado solo el último número y no todos? U otro número?

Saludos,

Bueno, para comenzar según el codigo que pones escrito y el que viene en la impresión de pantalla que muestras realizaría exactamente lo que está pidiendo. (te recomiendo respetar mayusculas y minusculas en los nombres de tus variables ya que de no ser así, estarías hablando de 2 variables diferentes y no podrás realizar las operaciones que deseas)

let array = [75, 45, 20];
let Ir = 10;
for(let num of array){
Ir = num
}
print(Ir);

Ahora bien, por lo que preguntas de por que muestra el resultado que muestra y como lo hace:
La estructura de un ciclo for of… es:

for( let num of array) {
/* Aquí se escriben las operaciones a realizar dentro del ciclo*/
}

se compone de la palabra clave for y entre parentesis se especifica la condición que debe cumplirse para realizar el ciclo, let num se refiere a la variable que se utilizará para recorrer el arreglo, array es el nombre del arreglo que se desea recorrer.
El funcionamiento es el siguiente:
este ciclo es especialmente útil al momento de manejar estructuras de datos como los arreglos, el número de veces que se ejecute este ciclo depende directamente de la longitud del arreglo es decir:

let array = [75, 45, 20];

en este caso se ejecutará 3 veces debido a que el arreglo contiene 3 elementos y la principal caracteristica es que al reccorrerlo la variable num va adquiriendo el valor de a posición del arreglo en la que se encuentra durante la ejecución del ciclo, es decir, el ciclo se ejecutaría de la siguiente manera:
Primera iteración:

            num
             ↓
let array = [75, 45, 20];

Segunda iteración:

                 num
                  ↓
let array = [75, 45, 20];

Tercera iteración:

                     num
                      ↓
let array = [75, 45, 20];

Una vez que se conoce el funcionamiento interno del ciclo ya es más facil determinar el por que se muestra el resultado por el que preguntas.

En la linea

Ir = num

se hace una asignación del valor de num en la variable Ir, por lo tanto cada vez que recorre el ciclo una posición se asignará el nuevo valor de num a Ir y cada vez que esto sucede se sustituye el valor anterior por el nuevo y es por eso que el valor que se imprime en:

print(Ir);

será siempre el último número del arreglo en este caso 20.

Espero que toda esta explicación te ayude comprender mejor este ejercicio y si tienes alguna otra pregunta no dudes en conmentarme.

Ánimo.

1 Like

Muchas gracias Smarl, me has ayudado a aclarar mis dudas en cuanto al funcionamiento interno del “for…of” al principio estaba muy confundido y tenía la idea de que siempre sería el último número pero no sabía por qué, y tampoco estaba seguro, entonces por lo que entiendo siempre resulta ser el último número debido a que esta en la última posición y por lo tanto es el último que recorre la variable del “for…of” y en ese valor queda no?

Disculpa mi ignorancia si no he comprendido bien Bro, la verdad estoy comenzando y solo como autodidacta es un poco difícil comprender algunas cosas cuando tienes dudas y no tienes a quien consultarle, muchas gracias crack!:+1:

1 Like