Angular JS Break ForEach


Answer :

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 true  Array.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/


Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?