<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當前位置:首頁 > javascript > 正文內容

      JS forEach 如何跳出循環

      hxing6412年前 (2024-01-06)javascript2784

      for循環

      JavaScript中,for循環可以使用 break 和 continue 來跳出:

      • continue:跳出本次循環

      • break:結束循環

      for (let i = 0; i < 10; i++) {
        if (i === 1) {
          // 跳出本次循環,不會打印1
          continue
        }
        if (i === 3) {
          // 結束循環,不會打印3和之后的數字
          break
        }
        // 輸出0 2
        console.log(i)
      }


      forEach循環

      除了for循環,常用的forEach如何退出呢?

      const numbers = [1, 2, 3, 4, 5]
      numbers.forEach(number => {
        if (number === 2) {
          // 跳出整個循環
          break  // SyntaxError: Illegal break statement
        }
          console.log(number)
      })


      可以看到,直接使用break,會報非法中斷語句錯誤


      再試試 continue :

      numbers.forEach(number => {
        if (number === 2) {
          // 跳出當前循環
          continue  // SyntaxError: Illegal continue statement: no surrounding iteration statement
        }
          console.log(number)
      })


      可以看到同樣報錯,continue不能在非循環語句中,原因是forEach的參數是一個回調函數,并不是循環語句,所以無法執行continue語句

      具體可以參考:SyntaxError: continue must be inside loop - JavaScript | MDN


      里面也提到了解決方法,使用 return 退出當前循環,以及使用 for of代替forEach

      numbers.forEach(number => {
        if (number === 2) {
          // 跳出當前循環
          return 
        }
        console.log(number) // 1 3 4 5
      }
      for (const number of numbers) {
        if (number === 2) {
          continue
        }
        console.log(number) // 1 3 4 5
      }


      但是就想使用 forEach 來跳出循環應該如何操作呢,上面文檔中沒有提到,但可以使用 try catch來實現:

      try {
        numbers.forEach(number => {
          if (number === 2) {
            throw new Error()
          }
          console.log(number) // 1
        })
      } catch (error) {
        console.log('捕獲到錯誤')
      }


      綜上,使用forEach時,使用 return 跳出當前循環,使用 try catch 跳出整個循環。


      掃描二維碼推送至手機訪問。

      版權聲明:本文由星星博客發布,如需轉載請注明出處。

      本文鏈接:http://www.7811333.com/?id=502

      分享給朋友:

      “JS forEach 如何跳出循環” 的相關文章

      JavaScript中的setTimeout和setInterval

      JavaScript是一門廣泛應用于網頁開發的腳本語言,它提供了許多強大的功能和特性。其中,setTimeout和setInterval是兩個常用的定時器函數,它們可以在指定的時間間隔內執行代碼。本文將深入探討這兩個函數的用法和特點,并通過代碼示例來加深理解。...

      深入理解JavaScript原型鏈

      JavaScript原型鏈是該語言中一個核心的概念,理解它對于成為一名優秀的JavaScript開發者至關重要。在本篇文章中,我們將深入探討JavaScript原型鏈的工作原理、如何使用原型鏈來實現繼承,以及一些與原型相關的最佳實踐。 原型鏈是什么?...

      7個Js async/await高級用法

      JavaScript的異步編程已經從回調(Callback)演進到Promise,再到如今廣泛使用的async/await語法。后者不僅讓異步代碼更加簡潔,而且更貼近同步代碼的邏輯與結構,大大增強了代碼的可讀性與可維護性。在掌握了基礎用法之后,下面將介紹一些高級用法,以便充分利用async/awai...

      JS數組常用方法

      JS數組常用方法

      JS數組常用方法:1.數組的復制和填充批量復制方法 copyWithin(),以及填充數組方法fill()。這兩個方法的函數簽名類似,都需要指定既有數組實例上的一個范圍,包含開始索引,不包含結束索引。使用這個方法不會改變數組的大小。 1.1.fill()方法使用fill()方法可以向一個已...

      微信小程序如何下載外部文件

      小程序下載文件主要是通過轉發文件到聊天進行轉存,以下為具體實現代碼,可以直接拿去用,傳入下載的url:const download = (url) => {   var that = this...

      typescript 中 omit 的理解

      在 TypeScript 中,Omit 是一種非常有用的工具類型,它可以用于創建一個新的類型,這個新類型是從現有類型中排除了指定的屬性后得到的。如果你想要處理一個對象但又不需要包含某些屬性,那么 Omit 可以幫助你快速地創建一個新的類型。 比如說,...

      發表評論

      訪客

      ◎歡迎參與討論,請在這里發表您的看法和觀點。
      主站蜘蛛池模板: 天天躁日日躁狠狠躁综合| 99久久国产综合精品2020| 国精产品自偷自偷综合下载| 亚洲av日韩综合一区久热| 国产成人综合久久精品免费| 伊伊人成亚洲综合人网7777| 亚洲综合日韩中文字幕v在线| 中文字幕亚洲综合久久综合| 久久亚洲高清综合| 亚洲综合欧美色五月俺也去| 香蕉国产综合久久猫咪| 久久亚洲精品高潮综合色a片| 91久久婷婷国产综合精品青草| 亚洲综合激情六月婷婷在线观看| 亚洲国产精品综合久久一线| 综合自拍亚洲综合图不卡区| 99久久综合狠狠综合久久止| 三级韩国一区久久二区综合 | 青青热久久综合网伊人| 成人综合国产乱在线 | 色综合天天做天天爱| 狠狠色伊人亚洲综合成人| 五月天婷亚洲天综合网精品偷| 亚洲欧美日韩综合俺去了| 国产成人综合网在线观看| 久久综合给合久久国产免费 | 狠狠综合久久综合88亚洲| 伊人性伊人情综合网| 中文字幕久久综合| 久久综合九色综合精品| 综合激情五月综合激情五月激情1| 狠狠色噜噜狠狠狠狠色综合久| 亚洲高清无码综合性爱视频| 综合激情五月综合激情五月激情1| 亚洲情综合五月天| 亚洲综合色丁香麻豆| 综合久久久久久中文字幕| 2020国产精品亚洲综合网| 天堂无码久久综合东京热| 色与欲影视天天看综合网| 国精产品自偷自偷综合下载|