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

203
Vistas
For-loop that is skipping even count

I have a small for loop, but it is skipping even count , what am I missing ?

var i = 0;
function myLoop() {
    setTimeout(function() {
        //code below
        console.log(Date() + ' and count is ' + i++);
        //code above
        if (i < 20) {
            myLoop();
        }
    }, i++)
}
myLoop()

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

0

Your i++ in the console.log statement is modifying your i variable.

i++ is equal to i = i + 1.

Replace i++ with i, which will evaluate correctly as postfix increment will return the value before the modification which would just be i.

This works:

var i = 0;

function myLoop() {
  setTimeout(function() {
    //code below
    console.log(Date() + ' and count is ' + i);
    //code above
    if (i < 20) {
      myLoop();
    }
  }, i++)
}
myLoop()

about 4 years ago · Juan Pablo Isaza Denunciar

0

i++ is equal i = i + 1; But when you call console.log(i++), first thing wil be console.log with Old value, and after increment your value.

about 4 years ago · Juan Pablo Isaza Denunciar

0

You raise the timeout with every iteration by on millisecond. Is that what you wanted?

https://www.w3schools.com/jsref/met_win_settimeout.asp

setTimeout(function, milliseconds, param1, param2, ...)

var i = 0;
function myLoop() {
    setTimeout(function() {
        //code below
        console.log(Date() + ' and count is ' + i++);
        //code above
        if (i < 20) {
            myLoop();
        }
    }, 1)
}
myLoop()
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