js中array遍历查询forEach使用try...throw-catch或者every使用return跳出循环

编者:李国帅

qq:9611153 微信lgs9611153

时间:2021 

问题描述:

使用js的时候经常用到查询数据中指定数据的情况,而数据的forEach() 方法比较常见,它将数组的每个元素传递给回调函数,在回调函数中进行操作。

和其他的循环不同,不能使用break和return跳出循环,所以一般不用它来做查询,可以用它来进行数据修改。

如果对一个大数组使用foreach函数,已经找了数据还要进行后面的循环显然是不划算的,低效率的。因此非要使用forEach() 进行查询,而且查询后就需要退出,这是可以使用try...throw-catch。

跳出forEach() :

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

try{

         this.array1.forEach(element => {

                   if(element.name == "标记1"){

                      this.temp.Id = element.id;

                            //break; 错误

                            //return; 不能跳出foreach

                            throw new Error("ddddd")

                   }

           });

}catch(e){

         if(e.message !="ddddd")throw e;

}

使用every实现 break

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

如果所有元素都满足条件,则返回 true。

var arr = [1,2,3,4,5];

var num = 3;

arr.every(function(v){

    if(v == num) {

        return false;;//返回false表示break,返回true表示continue

    }else{

        console.log(v);

        return true;

    }

});

参考:

https://www.runoob.com/jsref/jsref-foreach.html

https://www.runoob.com/jsref/jsref-every.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微澜-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值