1
respuesta

.forEach

Buenas, quisiera saber de que trata y sirve cuando refieren a iterar todos los pacientes con .forEach y luego agregarle una function anónima con el paciente. Sigo sin entender que es iterar y que cumple el forEach en este caso (Estoy en el curso de javascript con el xmlhttpsrequest para orientar mi duda). Muchas gracias!

1 respuesta

Hola Mateo espero te encuentres bien !

Iterar no es más que Repetir una acción varias veces. En este caso se dice que hay que iterar un arreglo para poder recorrer los elementos de este mismo.

Para ello puedes hacerlo de muchas maneras como por ejemplo con un ciclo for, sin embargo en el curso nos han enseñado que es mejor usar un forEach.

forEach es algo asi como un ciclo for mejorado ya que su funcionamiento esta dedicado a iterar arreglos y por lo tanto su sintaxis es más "simple".

Aquí te dejo la sintaxis de cada uno para que puedas comparar:

Sintaxis ciclo for:

for (var i=0, i < arreglo.length; i++ ) {
   ...
}

Sintaxis foreach:

arreglo.forEach(function(elemento){
   ...
});

Iterar con uno u otro tiene sus pros y sus contras puedes checar esta página para ver los beneficios de cada uno y otros datos interesantes.

Función anónima dentro de forEach

La función anónima dentro del forEach se debe a la sintaxis del forEach ya que te pide una función como parámetro y en este caso usamos una función anonima para ahorrar código (incluso podrias usar una función flecha) ya que se trata de un caso específico dentro de tu código qué solo se ejecutará para este objeto XMLHttpRequest.

Bien podrias NO usar una función anonima pero tus lineas de código aumentarian un poco más y usar forEach busca optimizar el código:

Ejemplo sin usar función anónima:

pacientes.forEach(funcionNoAnonima);


function funcionNoAnonima(elemento){
    ...
}

En esta parte del curso se busca iterar cada elemento del arreglo, es decir recorrer cada PACIENTE, para poder adicionarlo en la tabla.

Recuerda que también puedes revisar la documentación aquí

Espero haberte ayudado :), Saludos !