如何中断循环

试想有一个数组,我们循环的过程当符合某个条件的时候中断当前的循环,我们要如何实现呢

想到了return和break,那么来试试吧

能实现循环的方法有很多种,我们找几个有代表性的来试试

先来看最简单的for

let array = [1,2,3,4,5,6,7,8,9,10]
for(let i=0; i<array.length; i++){
    let value = array[i]
    if(value == 5){
        break
    }
    console.log(value)
}
// 1,2,3,4

可以看到用break可以实现普通的for循环

下面再来试试return

let array = [1,2,3,4,5,6,7,8,9,10]
for(let i=0; i<array.length; i++){
    let value = array[i]
    if(value == 5){
        return false
    }
    console.log(value)
}
// Uncaught SyntaxError: Illegal return statement

报错了,所以return不能直接终止for循环,其实这里有个误区,想一想js中return要用在哪里呢?

官方解释:在JavaScript中,return语句用于退出函数,并可选地返回一个值。

那我们来给上面套一个函数在试试

let array = [1,2,3,4,5,6,7,8,9,10]
function testFn(){
for(let i=0; i<array.length; i++){
let value = array[i]
if(value == 5){
return false
}
console.log(value)
}
}
//1,2,3,4,false

成功了,所以我们也可以利用return来退出循环,但前提是循环需要放到一个函数中.

写循环的时候我们有时候也会用到数组循环的遍历方法,我们找一个forEach来举例

let array = [1,2,3,4,5,6,7,8,9,10]
array.forEach(item => {
    if(item == 5){
        break
    }
    console.log(item)
})
// Uncaught SyntaxError: Illegal break statement

看到了,forEach中使用break不能终止循环,会报错,那么试试return吧

array.forEach(item => {
    if(item == 5){
        return false
    }
    console.log(item)
})
// 1,2,3,4,5,6,7,8,9,10

不报错,但是也终止不了循环哈,那要如何做呢,来看下面

try {
   array.forEach(item => {
    if(item == 5){
        throw Error('EndIterative')
    }
    console.log(item)
}) 
} catch (error) {}

// 1,2,3,4

所以,终止数组的遍历方法的方案是通过try catch,然后在中循环处抛出一个错误,这样就可以实现终止循环了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值