zoukankan      html  css  js  c++  java
  • for,foreach,$.each()跳出循环的比较

    说起跳出循环,第一时间想起的是 break continue,这是经典的for循环。

      1、for 循环

      先上例子,思考输出结果,体会 break 与 continue 的不同。

    复制代码
     1 var arr = [1,2,3,4,5,6]
     2 var arrySpecial = new Array();
     3 for (var i = 0; i < arr.length; i++){
     4         if(arr[i]%2==0)
     5         {
     6             arrySpecial.push(arr[i]);
     7             continue;
     8         }
     9         if(arr[i]%3==0)
    10         {
    11             arrySpecial.push(arr[i]);
    12             break;
    13         }
    14     }
    15 
    16     console.log(arrySpecial);
    复制代码

      continue 结束本次循环,继续执行循环体; break 结束所有循环。在本例中当“2”满足条件后,继续进行下一轮判断,当’3‘满足条件后,break 结束所有循环。

      2、forEach

      这是ECMAScript 5数组的forEach方法 ,作用是遍历数组,常用的写法:

    View Code

      案例分析:

    复制代码
    var arr = [1,2,3,4,5,6]
        var arrySpecial = new Array();
        arr.forEach(function(e,i){
            if(e%2==0)
            {
                arrySpecial.push(e);
                return;
            }
            if(e%3==0)
            {
                arrySpecial.push(e);
                return;
            }
        })
    console.log(arrySpecial);
    复制代码

      在forEach中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。注意该方法无法一次结束所有循环,需要一次性结束所有循环,必须把forEach方法放在一个try块中,并能抛出一个异常。

    var arr = [1,2,3,4,5,6]
    
    var arrySpecial = new Array();
    try {
        arr.forEach(function(e,i){
            if(e%2==0)
            {
                arrySpecial.push(e);
                throw Error();
            }
            if(e%3==0)
            {
                arrySpecial.push(e);
                throw Error();
            }
        });
    } catch(e){}
    console.log(arrySpecial);     //输出  [2]

      3、$.each()

      这是jQuery的方法,用于遍历 DOM时很方便,偷懒必备。

      在该方法中,同样是使用 return 或 return false 跳出循环,效果类似 效果与 for 中 break,结束所有循环。

    参考:http://www.cnblogs.com/changchengGZ/p/5440704.html

  • 相关阅读:
    Android Action Bar简介
    Android UX & UI 最佳实践: 设计有效的导航
    Android Design Principles
    Android 4.4 KitKat 新特性
    Android 尺寸单位转换和屏幕适配相关
    Android UI线程和非UI线程
    初探机器学习之使用百度EasyDL定制化模型
    初探机器学习之使用百度AI服务实现图片识别与相似图片
    初探机器学习之推荐系统的基础知识
    熊逸《唐诗50讲》壮心篇
  • 原文地址:https://www.cnblogs.com/zhenguoli/p/8546412.html
Copyright © 2011-2022 走看看