Vaya a la "siguiente" iteración en JavaScript para cada bucle [duplicado]

Resuelto Don P asked hace 9 años • 3 respuestas

¿ Cómo paso a la siguiente iteración de un Array.forEach()bucle de JavaScript?

Por ejemplo:

var myArr = [1, 2, 3, 4];

myArr.forEach(function(elem){
  if (elem === 3) {
    // Go to "next" iteration. Or "continue" to next iteration...
  }

  console.log(elem);
});

Los documentos de MDN solo mencionan salirse del ciclo por completo, sin pasar a la siguiente iteración.

Don P avatar Jul 14 '15 13:07 Don P
Aceptado

Simplemente puede hacerlo returnsi desea omitir la iteración actual.

Como estás en una función, si returnantes de hacer cualquier otra cosa, entonces efectivamente te has saltado la ejecución del código debajo de la returndeclaración.

rid avatar Jul 14 '2015 06:07 rid

ForEach de JavaScript funciona un poco diferente de cómo se podría utilizar en otros lenguajes para cada bucle. Si lee en el MDN , dice que se ejecuta una función para cada uno de los elementos del array, en orden ascendente. Para continuar con el siguiente elemento, es decir, ejecutar la siguiente función, simplemente puede devolver la función actual sin que ésta realice ningún cálculo.

Al agregar un retorno, pasará a la siguiente ejecución del ciclo:

var myArr = [1,2,3,4];

myArr.forEach(function(elem){
  if (elem === 3) {
    return;
  }

  console.log(elem);
});
Expandir fragmento

Salida: 1, 2, 4

Christoffer Karlsson avatar Jul 14 '2015 06:07 Christoffer Karlsson

simplemente devuelve verdadero dentro de tu declaración if

var myArr = [1,2,3,4];

myArr.forEach(function(elem){
  if (elem === 3) {

      return true;

    // Go to "next" iteration. Or "continue" to next iteration...
  }

  console.log(elem);
});
dimshik avatar Jul 14 '2015 06:07 dimshik