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

  • 相关阅读:
    用require.js封装原生js轮播图
    最全状态码
    常用DOM结构方法总结
    CSS浮动、绝对、相对定位
    盒模型
    构造函数、原型和实例的关系
    Android测试网络是否连接
    Android第一天
    JQuery图片切换动画效果
    Hibernate增删查改语句
  • 原文地址:https://www.cnblogs.com/BluceLee/p/12986664.html
Copyright © 2011-2022 走看看