国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript forEach 方法跳出循環(huán)

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript forEach 方法跳出循環(huán)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景

這個(gè)問題平時(shí)工作中基本不會遇到,通常是面試時(shí),有的面試官喜歡問這個(gè),所以有了探討的意義。
首先我們來看看 for 循環(huán)是怎么處理跳出的。

for循環(huán)

JavaScript中,for循環(huán)可以使用 breakcontinue 來跳出:

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

forEach循環(huán)

了解了 for 循環(huán)跳出之后,forEach 如何跳出呢?

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

可以看到,直接使用break,會報(bào)非法中斷語句錯(cuò)誤
再試試 continue

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

可以看到同樣報(bào)錯(cuò),continue不能在非循環(huán)語句中,原因是forEach的參數(shù)是一個(gè)回調(diào)函數(shù),并不是循環(huán)語句,所以無法執(zhí)行continue語句
具體可以參考:SyntaxError: continue must be inside loop - JavaScript | MDN
里面也提到了解決方法,使用 return 退出當(dāng)前循環(huán),以及使用 for of代替forEach

numbers.forEach(number => {
  if (number === 2) {
    // 跳出當(dāng)前循環(huán)
    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 來跳出循環(huán)應(yīng)該如何操作呢,上面文檔中沒有提到,但可以使用 try catch來實(shí)現(xiàn):

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

另辟蹊徑
除了上面的用法,前幾天刷博客看評論的時(shí)候,看見一個(gè)方法,大家也可以嘗試一下。

var list = [1, 2, 3, 4, 5]
list.forEach((v, index) => {
if (v == 3) {
  list = list.splice(0, index)
}

console.log(index)
})

在想要跳出循環(huán)的時(shí)候,將原數(shù)組的數(shù)量減少,這樣就直接跳出了數(shù)組,可以說是非常巧妙了??,大家也可以試試。

綜上,使用 forEach 時(shí),使用 return 跳出當(dāng)前循環(huán),使用 try catch 跳出整個(gè)循環(huán),同時(shí)也可以試試上面的另類方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-771922.html

到了這里,關(guān)于JavaScript forEach 方法跳出循環(huán)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python跳出多層for循環(huán)的方法

    在業(yè)務(wù)邏輯中有時(shí)候會遇到兩層for循環(huán)的情況,觸發(fā)某些條件時(shí),需要直接退出兩層for循環(huán) 而python官方是沒有 goto 語句的那么我們可以這樣實(shí)現(xiàn) 這段代碼什么意思呢 python里面for...else...表示如果這個(gè)循環(huán)正常的走完了則會執(zhí)行else里面的代碼,異常退出則不會執(zhí)行,我們對內(nèi)

    2024年02月05日
    瀏覽(20)
  • 【java】幾種跳出 for循環(huán)的方法

    在Java中,有多種方法可以跳出 for 循環(huán),從而停止循環(huán)的執(zhí)行。以下是其中的三種常見的方法: 當(dāng) i 等于5時(shí), break 語句會將控制流程跳出 for 循環(huán)從而停止后續(xù)代碼的執(zhí)行。 當(dāng) i 等于5時(shí), return 語句會立即退出整個(gè)方法從而停止對 for 循環(huán)的執(zhí)行。 當(dāng) i 等于5時(shí), continue 語

    2024年02月07日
    瀏覽(15)
  • java跳出for循環(huán)的三種常見方法

    這篇文章主要給大家介紹了關(guān)于java跳出for循環(huán)的三種常見方法,需要的朋友可以參考下 一、 break語句:使用break語句可以結(jié)束整個(gè)for循環(huán)的執(zhí)行: 當(dāng) i 等于5時(shí), break 語句會將控制流程跳出 for 循環(huán)從而停止后續(xù)代碼的執(zhí)行。 二、?return語句:如果你想要跳出當(dāng)前方法并且停止

    2024年04月23日
    瀏覽(19)
  • foreach循環(huán)使用方法詳解

    在前面的文章中, 千鋒壹哥 給大家講解了for、while、do-while三種循環(huán)結(jié)構(gòu),并講解了如何跳出循環(huán)的幾種方式,比如break、continue、return等。但是截止到目前,與循環(huán)相關(guān)的內(nèi)容還沒有完事,我們還有最后一哆嗦,今天 千鋒壹哥 會給大家講解另一種循環(huán)方式--增強(qiáng)for循環(huán)!這

    2023年04月24日
    瀏覽(19)
  • JavaScript——forEach()方法

    JavaScript——forEach()方法

    ? 舉例說明: !注意:只遍歷有值的元素

    2024年02月19日
    瀏覽(18)
  • js中斷 forEach 循環(huán)的幾種方法

    1、使用 Array.prototype.some() 方法代替 some() 方法會在找到第一個(gè)符合條件的元素時(shí)停止循環(huán)。 例如: 上述代碼會在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。 2、使用 Array.prototype.every() 方法代替 上述代碼會在找到第一個(gè)符合條件的元素(即 3)時(shí)停止循環(huán)。 請注意,該

    2024年02月14日
    瀏覽(22)
  • JavaScript中的map()和forEach()方法有什么區(qū)別?

    JavaScript中的map()和forEach()方法有什么區(qū)別?

    聚沙成塔·每天進(jìn)步一點(diǎn)點(diǎn) 前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個(gè)專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無論你是完全的新手還是有一些基礎(chǔ)的開發(fā)者,這里都將為你提供一個(gè)系統(tǒng)而

    2024年02月06日
    瀏覽(21)
  • [Vue]常見的循環(huán)處理數(shù)組方法:forEach some map filter every find等方法

    [Vue]常見的循環(huán)處理數(shù)組方法:forEach some map filter every find等方法

    Array.forEach(callback) 千萬注意:forEach() 方法對于空數(shù)組是不會執(zhí)行回調(diào)函數(shù)的 forEach()方法用于遍歷數(shù)組中的每一個(gè)元素,并將元素傳給回調(diào)函數(shù), 注意:forEach()中是不支持使用break來中途跳出循環(huán)和不支持return操作輸出, return只能用于控制循環(huán)是否跳出當(dāng)前循環(huán) 語法: 回調(diào)有三

    2024年02月10日
    瀏覽(20)
  • JavaScript 之 常用迭代方法forEach、filter()、map()、reduce()

    JavaScript 之 常用迭代方法forEach、filter()、map()、reduce()

    代碼如下: 如下: 代碼簡潔很多,如下: 簡介 : filter() 方法創(chuàng)建給定數(shù)組一部分的淺拷貝,其包含通過所提供函數(shù)實(shí)現(xiàn)的測試的所有元素。 語法 : 參數(shù)、返回值 描述 參考官網(wǎng): 官網(wǎng)——Array.prototype.filter(). 代碼如下: 代碼如下: 下例使用 filter() 根據(jù)搜索條件來過濾數(shù)

    2024年02月09日
    瀏覽(17)
  • 常見遍歷方法 for循環(huán)、forEach、map、filter、find、findIndex、some、every

    來自于遠(yuǎn)古的遍歷方式,并且涵蓋多種手段,例如for in 和for of。 for循環(huán) 中使用break和continue語句(終止和跳過本次循環(huán)): for of 用來遍歷數(shù)組也是可以的 for of 中也可以用break和continue for in 也可以遍歷數(shù)組,但不推薦 for in 中也可以用break和continue forEach是ES5中操作數(shù)組的一種

    2024年02月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包