日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

3種在JavaScript中終止forEach循環的方式

admin
2024年10月13日 22:59 本文熱度 960

?

面試官:你能停止 JavaScript 中的 forEach 循環嗎?這是我在面試中曾被問到的一個問題,我當初的回答是:“不,我不能這樣做。”

不幸的是,我的回答導致面試官突然結束了面試,對的,是突然結束的!

我對結果感到沮喪,問面試官:“為什么?實際上可以停止 JavaScript 中的 forEach 循環嗎?”

在面試官回答之前,我花了一些時間解釋我對為什么我們不能直接停止 JavaScript 中的 forEach 循環的理解。

一、序言

這個問題估計會難倒一部分同學。甚至會有人反問,forEach循環在JavaScript中能終止嗎? 比如 ,我舉個例子

const array = [ -3, -2, -1, 0, 1, 2, 3 ] array.forEach((it) => {  if (it >= 0) {    console.log(it)    // 0 1 2 3    return // or break  }})

從這個例子來看,好像不管是通過return還是break都無法終止forEach循環。 forEach相當于就是函數的執行,比如下面這段代碼,即使func1執行了return語句,仍然會打印出2。

const func1 = () => {  console.log(1)  return} const func2 = () => {  func1()  console.log(2)} func2()

二、終止方法

然而,我能想到三種方式可以終止forEach循環。

1. 拋出錯誤

當找到一個大于等于0的數字之后,return循環將終止執行,所以控制臺只會輸出數字0,代碼如下:

const array = [ -3, -2, -1, 0, 1, 2, 3 ] try {  array.forEach((it) => {    if (it >= 0) {      console.log(it) // 輸出:0      throw Error(`We've found the target element.`)    }  })} catch (err) {
}

2. 將數組長度設置成0

我們也能通過將數組長度設置成0來終止forEach循環。代碼如下

const array = [ -3, -2, -1, 0, 1, 2, 3 ] array.forEach((it) => {  if (it >= 0) {    console.log(it) // 輸出:0    array.length = 0  }})

3. 將數組元素移除

當滿足條件時,使用splice方法將數組內元素移除,也能終止forEach循環。代碼如下:

const array = [ -3, -2, -1, 0, 1, 2, 3 ] array.forEach((it, i) => {  if (it >= 0) {    console.log(it) // 輸出:0    array.splice(i + 1, array.length - i)  }})

三、建議

建議使用for和some

在日常工作中,一般是不會出現一種情況是讓你終止forEach循環的,如果有終止的情況,可以使用for和some方法。

for

const array = [ -3, -2, -1, 0, 1, 2, 3 ] for (let i = 0, len = array.length; i < len; i++) {  if (array[ i ] >= 0) {    console.log(array[ i ])    break  }}

some

const array = [ -3, -2, -1, 0, 1, 2, 3 ] array.some((it, i) => {  if (it >= 0) {    console.log(it)    return true  }})

最后,3種關于在JavaScript中終止forEach循環的方法就先介紹到這里了,希望對你有所幫助,感謝你的閱讀,編程快樂!


該文章在 2024/10/14 10:14:59 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 动漫精品一区二区三区四 | 国精产品一品二品国精品69xx | 五月婷婷国产在线 | 俺去也伦理资源站 | 国产一区二区三区在线电影 | 国产精品18 | 精品国产aⅴ一区二区三区四川人 | 日本视频在线观看不卡高清免费 | 伊人www22 | 国产一区二区免费视频 | 国产老熟女精品一区二区 | 片完整片视频在线 | 羞羞视频网站 | 国产高清一区二区视频 | 资源视频在线观看 | 亚洲成a人片在线不卡一二三区 | 亚洲中文波霸中文字幕 | 午夜性影院在线观看视频播放 | 成人69激情视频在线观看 | 综合九九 | 九九热这里只有精品视频 | 最新免费视频 | 精品黑人一 | 伦视频中文字幕亚洲天堂网 | 精品一区二区三区夜夜嗨 | 亚洲国产手机看片 | 亚洲精品视频免费 | 中文字幕在线免费专区 | 日本中文字幕网 | 欧美一区视频在线 | 国产一区欧美一区二区 | 亚洲欧美日本国产—区二区三区 | 在线观看高清无 | 国产精品三级国语在线看 | 日本福利一区二区三区 | 日韩一区二区三免费高清 | 亚洲日本一区二区一本一道 | 亚洲九九九九精品 | 欧美日韩国产日韩 | 97精品久| 国精产品一二二线网站 |