刷算法题的过程中遇到以下问题
问题:
两层循环,内层循环中存在 if 判断,当判断成立时需跳出并执行下一轮外层循环。但直接使用 continue 仅跳出内层循环。
while(str = readline()) {
......
for(...) {
if(...) {
...
continue // 判断成立时需跳出外层 while 循环
}
}
}
解决方法:使用带 label 的 continue
continue 后可以带一个 label 标识符号以指定具体跳出的循环
outside: while(str = readline()) { // 通过 label: 的形式为循环添加标识符
......
for(...) {
if(...) {
...
continue outside // 指定需跳出的循环层
}
}
}
注: break 同理
- 总结自 MDN
continue
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/continue
break
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/break