Detener un bucle forEach() parece casi una tarea imposible, pero aquí hay algunos trucos con los que podemos hacerlo.
Ejemplo de muestra usando forEach():
var sum = 0; var number = [90, 4, 22, 48]; number.forEach(myFunction); function myFunction(item) { sum += item; } console.log(sum);
Trucos para detener el bucle forEach():
Método 1: El siguiente método demuestra el uso del bloque try-catch . El siguiente código demuestra rodear la cosa con un bloque try-catch y lanzar una excepción cuando se rompe el bucle forEach.
Ejemplo:
Javascript
var animals=["pig", "lion", "boar", "rabbit"]; try { animals.forEach(myFunction); function myFunction(item) { // Condition for breaking the loop if(item.localeCompare("boar") == 0) /* skips rest of the statements in the function and goes to the catch block */ throw new Exception("Time to end the loop"); console.log(item); } } catch(e) { console.log("Loop has ended"); }
Producción:
pig lion Loop has ended
Método 2: este método en realidad no se separa del bucle forEach() , pero lo considera como una declaración continua contra todos los demás elementos, es decir, salta todos los demás elementos después del elemento que satisface la condición dada.
Javascript
var ary = [90, 87, 45, 99]; ary.forEach(function loop(item) { // This statement acts like a continue // statement for the remaining elements // when the condition is satisfied if(loop.stop){ return;} // Prints the element to the console console.log(item); // This statement acts like a condition // and prevents the execution of the // loop for the remaining elements if(item == 87) { loop.stop = true; } });
Output: 90 87
Publicación traducida automáticamente
Artículo escrito por coder_srinivas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA