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/java/article/details/82980062

  • 相关阅读:
    PAT 顶级 1010 Lehmer Code (35 分)
    PAT 顶级 1010 Lehmer Code (35 分)
    CCF CSP 201909-4 推荐系统
    CCF CSP 201909-4 推荐系统
    Codeforces 1251C Minimize The Integer
    Codeforces 1251C Minimize The Integer
    CCF CSP 201803-4 棋局评估
    CCF CSP 201803-4 棋局评估
    【DP_树形DP专题】题单总结
    【DP_树形DP专题】题单总结
  • 原文地址:https://www.cnblogs.com/BluceLee/p/12986664.html
Copyright © 2011-2022 走看看