专栏首页Super 前端Thinking--return退出多重循环

Thinking--return退出多重循环

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。

假设在函数体内有一个两重循环语句,需要在内层循环中判断,当到达某个临界条件时退出外层循环。

方式一:引入控制标记变量

function test1 () {
  let isBreak = false
  for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
      if (i * j > 10) {
        isBreak = true
        break
      }
    }
    if (isBreak) break
  }
}

方式二:直接退出整个方法

function test2 () {
  let isBreak = false
  for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
      if (i * j > 10) {
        return
      }
    }
  }
}

如果在循环之后有一些将被执行的代码呢? console.log(i, j) 为例

对于方式一:引入控制标记变量,需要在外层循环增加代码,同时将 j 变量作用域提到外层

function test1 () {
  let isBreak = false
  // j 的作用域提到外层
  let i, j
  for (i = 0; i < 10; i++) {
    ...
    if (isBreak) {
      // 新增逻辑
      console.log(i, j)
      break
    }
  }
}

对于方式二:直接退出整个方法,循环后面的代码放到 return 后面(可抽离成方法,单独管理)

function doSomething (i, j) {
  // 新增逻辑
  console.log(i, j)
}

function test2 () {
  ...
  return doSomething(i, j)
}

其他函数Thinking:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 现代前端技术解析:前端与协议

    完整的HTTP报文由头部、空行、正文三部分组成。目前最广泛使用的是HTTP1.1。

    奋飛
  • CSS布局相关及Flex详解

    对于两个div元素,其是相对独立的,如果在其中一个div元素中加入内容,将会使得两个元素的底部不能对齐,导致页面多出空白区域。

    奋飛
  • Vue基础:条件渲染、列表渲染、事件处理

    那么在上面的代码中切换 loginType 将不会清除用户已经输入的内容。因为两个模板使用了相同的元素,<input> 不会被替换掉——仅仅是替换了它的 pla...

    奋飛
  • 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识

    下拉更新、分享、阅读标识 本文配套视频地址: https://v.qq.com/x/page/h0554i4u5ob.html 开始前请把 ch3-4...

    iKcamp
  • 《腾讯大家》小程序开发总结

    《腾讯大家》是公司推出的中文互联网专栏写作服务产品。由于寻找有效信息的成本是非常大的,一些真正具有传播价值的内容,却往往淹没于信息洪流之中。如何将最有价值的信息...

    JoanLiu
  • 如何学习SQL注入基础以及深入研究

    这个wiki的使命是成为一站式资源,用于在各种数据库管理系统(DBMS)中完全识别,利用和升级SQL注入漏洞。这个wiki假设您对SQL注入有基本的了解。

    HACK学习
  • 《腾讯大家》小程序开发总结

    腾讯大家小程序与公众号精密结合运营,通过传播引发网友关注,扩大腾讯大家内容的出口。

    腾讯Bugly
  • swift 5.0 创建button方法

    用户1219438
  • RGW 服务端加密爬坑记

    参考了官方文档,决定采用 Customer-Provided Keys(Amazon SSE-C)方式进行加密

    用户1260683
  • 解决前端浏览器字体小于12px办法

    做项目时,UI设计的字体10px,看效果图时发现字体仍然蛮大,改变12px时字体还是那么大,改变到14px时,字体变大了,发现规律,才知道原来浏览器为了让用户字...

    honey缘木鱼

扫码关注云+社区

领取腾讯云代金券