break的一些知识点

提起break大家肯定都知道,写循环经常会用到break。这里总结一下关于break的一些知识点。


1、遍历大量数据记得用break跳出循环

什么意思呢?简单一点,当我有一千个不同的乱序的数据数组,我需要遍历一遍,但这个数据可能是第一个元素,也可能是最后一个元素。
对比一下下面两段代码:
code 1:

var result;
for(var i = 0; i < 1000; i++) {
    //arr和value_need已经知道
    if(arr[i] == value_need) {
        result = arr[i]; 
    }
}

code 2:

var result;
for(var i = 0; i < 1000; i++) {
    //arr和value_need已经知道
    if(arr[i] == value_need) {
        result = arr[i];
        break; 
    }
}

两段代码功能一样,第二种更好。


2、break只跳出一层循环

这个可别弄错了。

var sum = 0;

for(var i = 0; i < 10; i++) {
    for(var j = 0; j < 10; j++) {
        if(j == 5) break;
        sum++;
    }
}

console.log('sum: ' + sum);    //sum: 50

看到没,i从0到9,每次j从0到4自增5次。总共50次。要是它能跳出多重循环,sum应该是5才对。

既然说了break,就顺带说一下continue好了。
code 1:

var sum = 0;

for(var i = 0; i < 10; i++) {
    if(i == 5) continue;
    sum++;
}

console.log('sum: ' + sum);    //sum: 9

code 2:

var sum = 0;

for(var i = 0; i < 10; i++) {
    for(var j = 0; j < 10; j++) {
        if(i == 5 && j == 5) continue;
        sum++;
    }
}

console.log('sum: ' + sum);    //sum: 99

看到没,也就是跳过这一次循环而已。


3、跳出多重循环

这里需要break标签语句一起使用才能奏效。标签语句的语法是这样的:label : statement

var sum = 0;

outState:
for(var i = 0; i < 10; i++) {
    for(var j = 0; j < 10; j++) {
        if(j == 5) break outState;
        sum++;
    }
}

console.log('sum: ' + sum);    //sum: 5

看到没,直接在i为0的时候就执行了5遍就跳出整个双重循环了。
再来看一下continue的:

var sum = 0;

outState:
for(var i = 0; i < 10; i++) {
    for(var j = 0; j < 10; j++) {
        if(j == 5) continue outState;
        sum++;
    }
}

console.log('sum: ' + sum);    //sum: 50

每次j到5就不做了,直接到外层i循环。i从0到9,每次5次,就是50。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值