写点什么

Vue 进阶(幺零七):arr.forEach() 跳出循环

发布于: 5 小时前
Vue进阶(幺零七):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;  }});
复制代码

四、拓展阅读

发布于: 5 小时前阅读数: 2
用户头像

No Silver Bullet 2021.07.09 加入

岂曰无衣 与子同袍

评论

发布
暂无评论
Vue进阶(幺零七):arr.forEach() 跳出循环