Angular JS break ForEach Angular JS break ForEach angularjs angularjs

Angular JS break ForEach


The angular.forEach loop can't break on a condition match.

My personal advice is to use a NATIVE FOR loop instead of angular.forEach.

The NATIVE FOR loop is around 90% faster then other for loops.

For loop break , for loop test result

USE FOR loop IN ANGULAR:

var numbers = [0, 1, 2, 3, 4, 5];for (var i = 0, len = numbers.length; i < len; i++) {  if (numbers[i] === 1) {    console.log('Loop is going to break.');     break;  }  console.log('Loop will continue.');}


There's no way to do this. See https://github.com/angular/angular.js/issues/263. Depending on what you're doing you can use a boolean to just not going into the body of the loop. Something like:

var keepGoing = true;angular.forEach([0,1,2], function(count){  if(keepGoing) {    if(count == 1){      keepGoing = false;    }  }});


please use some or every instances of ForEach,

Array.prototype.some:some is much the same as forEach but it break when the callback returns trueArray.prototype.every:every is almost identical to some except it's expecting false to break the loop.

Example for some:

var ary = ["JavaScript", "Java", "CoffeeScript", "TypeScript"];ary.some(function (value, index, _ary) {    console.log(index + ": " + value);    return value === "JavaScript";});

Example for every:

var ary = ["JavaScript", "Java", "CoffeeScript", "TypeScript"];ary.every(function(value, index, _ary) {    console.log(index + ": " + value);    return value.indexOf("Script") > -1;});

Find more information
http://www.jsnoob.com/2013/11/26/how-to-break-the-foreach/