Wenn Sie jQuery (daher nicht jqLite) in Verbindung mit AngularJS verwenden, können Sie mit $ .each iterieren. Dies ermöglicht das Unterbrechen und Fortfahren basierend auf dem booleschen Rückgabewertausdruck.
JSFiddle:
http://jsfiddle.net/JEcD2/1/
Javascript:
var array = ['foo', 'bar', 'yay'];
$.each(array, function(index, element){
if (element === 'foo') {
return true; // continue
}
console.log(this);
if (element === 'bar') {
return false; // break
}
});
Hinweis:
Obwohl die Verwendung von jQuery nicht schlecht ist, werden von MDN sowohl native Array.some- als auch Array.every- Funktionen empfohlen, wie Sie in der nativen forEach- Dokumentation lesen können :
"Es gibt keine Möglichkeit, eine forEach-Schleife anzuhalten oder zu unterbrechen. Die Lösung besteht darin, Array.every oder Array.some zu verwenden."
Folgende Beispiele werden von MDN bereitgestellt:
Array.some:
function isBigEnough(element, index, array){
return (element >= 10);
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed is true
Array.every:
function isBigEnough(element, index, array){
return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true