xjinza
4/18/2018 - 9:44 AM

跳出for循环

跳出for循环

1.原生for 使用break
for (i=0;i<10;i++){
  if (i==3) break;
  x=x + "The number is " + i + "<br>";
}
2.es5 forEach没有方法,some 使用return true,every使用return false
没有办法中止或者跳出 forEach 循环,除了抛出一个异常。如果你需要这样,使用forEach()方法是错误的,你可以用一个简单的循环作为替代。
如果您正在测试一个数组里的元素是否符合某条件,且需要返回一个布尔值,那么可使用 Array.every 或 Array.some。
如果可用,新方法 find() 或者findIndex() 也可被用于真值测试的提早终止。

telephoneCodeList.some(function (item) {
    if (item.firstAlpha === firstAlpha) {
         return true;
    }
});

3.jquery each 使用return false
$( "div" ).each(function( index, element ) {
    $( element ).css( "backgroundColor", "yellow" );
    if ( $( this ).is( "#stop" ) ) {
      $( "span" ).text( "Stopped at div index #" + index );
      return false;
    }
  });
4.angularjs forEach 没有方法,只能使用条件判断
There's no way to do this. Depending on what you're doing you can use a boolean to just not going into the body of the loop. Something like:
参考:https://stackoverflow.com/questions/13843972/angular-js-break-foreach?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
var keepGoing = true;
angular.forEach([0,1,2], function(count){
  if(keepGoing) {
    if(count == 1){
      keepGoing = false;
    }
  }
});