Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
¿Por qué este ciclo foreach no muestra todos los elementos?

solo aparece dos veces en lugar de 4 veces

Intenté for of loop pero aún así el mismo resultado.

 var arr = [1, 2, 3, 4]; arr.forEach((val, index, io) => console.log(val, index, io.pop()))

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Su código funciona como se esperaba.

El método Array.pop() elimina el último elemento de una matriz y devuelve ese elemento. Este método cambia la matriz desde la que se ha llamado.

Array.pop() devuelve el elemento eliminado de la matriz.

Cuando el índice de iteración es 0, iterará a través de la matriz [1, 2, 3, 4] , elimina 4 en la primera iteración, lo que hace que la longitud de la matriz sea 3.

Cuando el índice de iteración es 1, la iteración se realizará en Array [1, 2, 3] y elimina 3 de esta matriz.

Ahora la longitud de Array es 2 y la iteración ya se ha completado dos veces y el bucle sale.

Es por eso que su ciclo se ejecuta solo dos veces.

 const arr = [1, 2, 3, 4]; arr.forEach((val, index, io) => { console.log(`Iterating ${index + 1}`); console.log(val, index, io.pop()); console.log(`Array After Iteration ${io}`); }); console.log(`Final Array ${arr}`);

about 4 years ago · Juan Pablo Isaza Denunciar

0

var arr = [1, 2, 3, 4]; arr.forEach((val, index, io) => console.log(val, index, io.pop()))

Tu código está haciendo lo que debería

 val | index | io.pop() | Modified Array 1 0 4 [1, 2, 3] 2 1 3 [1, 2] // since it already reached at 2 no other element needs to be traversed and hence iteration stops.

Cada vez que está iniciando sesión, está eliminando el último elemento de la matriz y también avanzando.

La devolución de llamada se ejecuta solo para los elementos que están presentes en la matriz y, por lo tanto, como sus elementos se eliminan con cada registro, permanece con dos elementos y, por lo tanto, se ejecuta solo dos veces.

Espero que esto ayude. !✌

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda