zoukankan      html  css  js  c++  java
  • [转] JS中arr.forEach()如何跳出循环

    我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。

    使用break将会报错:

    var arr = [1,2,3,4,5];
    var num = 3;
    arr.forEach(function(v){
    if(v == num) {
    break;
    }
    console.log(v);
    });


    使用return也不能跳出整个循环:

    var arr = [1,2,3,4,5];
    var num = 3;
    arr.forEach(function(v){
    if(v == num) {
    return;
    }
    console.log(v);
    });


    那么在用forEach()遍历数组时要如何才能跳出循环呢?经过查找资料后,我找到了两种方法可以实现跳出循环。

    第一种:使用try···catch捕获异常实现

    try{
    var array = ["first","second","third","fourth"];
    array.forEach(function(item,index){
    if(item == "third"){
    var a = aaaa;// first second 后就报错,就跳出循环了
    throw new Error("ending");//报错,就跳出循环
    }else{
    log(item);
    }
    })
    }catch(e){
    if(e.message == "ending"){
    log("结束了") ;
    }else{
    log(e.message);
    }
    }
    第二种方法:使用arr.some()或者arr.every()替代

    some()当内部return true时跳出整个循环:

    var arr = [1,2,3,4,5];
    var num = 3;
    arr.some(function(v){
    if(v == num) {
    return true;
    }
    console.log(v);
    });
    every()当内部return false时跳出整个循环

    var arr = [1,2,3,4,5];
    var num = 3;
    arr.every(function(v){
    if(v == num) {
    return false;
    }else{
    console.log(v);
    return true;
    }
    });
     
    ————————————————

    原文链接:https://blog.csdn.net/guxin_duyin/article/details/82980062

  • 相关阅读:
    创建表头固定,表体可滚动的GridView(转)
    正则表达式实现资料验证的技术总结 (转)
    通过样式表实现固定表头和列 (转)
    如何把string解析为int?(转)
    代码设计简单规范 (转)
    取存储过程结果集
    JS对select动态添加options操作[IE&FireFox兼容]
    多UpdatePanel
    ASP.NET页面如何引发PostBack事件 转
    asp.net 页面回传
  • 原文地址:https://www.cnblogs.com/chris-oil/p/11556991.html
Copyright © 2011-2022 走看看