JavaScript避免使用return跳出多重循环从而继续执行函数;使用break跳出多重for循环

一、先来看一下使用break仅跳出一层for循环的用法

  const foo = function () {
    for (let i = 1; i <= 3; i++) {
      for (let j = 1; j <= 3; j++) {
        if (i === 2) {
          break
        }
        console.log('输出j的值', j)
      }
      console.log('输出i的值', i)
    }
    console.log('for完了')
  }
  foo()

会输出以下值

 

 可以看出,当 i 为2时应该输出的三次 j 未输出,证明break语句仅跳出了内层 j 循环

二、接下来展示如何使用break 跳出多层for循环

        ' jumpFor '为自定义的名字,在break后加上' jumpFor '即可指挥跳到哪一层循环

  const foo = function () {
    jumpFor: for (let i = 1; i <= 3; i++) {
      for (let j = 1; j <= 3; j++) {
        if (i === 2) {
          break jumpFor
        }
        console.log('输出j的值', j)
      }
      console.log('输出i的值', i)
    }
    console.log('for完了')
  }
  foo()

输出结果如下:达到了最终的目的,跳出了多层for循环并且继续执行了循环下面的语句

三、接下来我们可以看三层for循环的情况下,单独跳出两层內循环的例子

const foo = function () {
    for (let index = 1; index <= 2; index++) {
      jumpFor: for (let i = 1; i <= 3; i++) {
        for (let j = 1; j <= 3; j++) {
          if (i === 2) {
            break jumpFor
          }
          console.log('输出j的值', j)
        }
        console.log('输出i的值', i)
      }
      console.log('输出index的值', index)
    }
    console.log('for完了')
  }
  foo()

输出结果如下:可以看出,每次输出i = 1的值之后,再i++进行下一次 i 循环时,都跳出了 i 循环,但是会继续执行index循环,所以这个break可以让我们跳到任意循环层,且不耽误仍旧要继续执行的外层for循环

 暂时说到这里,更多用法自己发掘啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值