AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

三種在JavaScript中終止forEach循環(huán)的方式

來源: 責編: 時間:2023-12-19 17:15:20 250觀看
導讀面試官:你能停止 JavaScript 中的 forEach 循環(huán)嗎?這是我在面試中曾被問到的一個問題,我當初的回答是:“不,我不能這樣做。”不幸的是,我的回答導致面試官突然結束了面試,對的,是突然結束的!我對結果感到沮喪,問面試官:“為什么?

面試官:你能停止 JavaScript 中的 forEach 循環(huán)嗎?這是我在面試中曾被問到的一個問題,我當初的回答是:“不,我不能這樣做。”eSR28資訊網——每日最新資訊28at.com

eSR28資訊網——每日最新資訊28at.com

不幸的是,我的回答導致面試官突然結束了面試,對的,是突然結束的!eSR28資訊網——每日最新資訊28at.com

我對結果感到沮喪,問面試官:“為什么?實際上可以停止 JavaScript 中的 forEach 循環(huán)嗎?”eSR28資訊網——每日最新資訊28at.com

在面試官回答之前,我花了一些時間解釋我對為什么我們不能直接停止 JavaScript 中的 forEach 循環(huán)的理解。eSR28資訊網——每日最新資訊28at.com

一、序言

這個問題估計會難倒一部分同學。甚至會有人反問,forEach循環(huán)在JavaScript中能終止嗎? 比如 ,我舉個例子eSR28資訊網——每日最新資訊28at.com

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循環(huán)。 forEach相當于就是函數(shù)的執(zhí)行,比如下面這段代碼,即使func1執(zhí)行了return語句,仍然會打印出2。eSR28資訊網——每日最新資訊28at.com

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

二、終止方法

然而,我能想到三種方式可以終止forEach循環(huán)。eSR28資訊網——每日最新資訊28at.com

1. 拋出錯誤

當找到一個大于等于0的數(shù)字之后,return循環(huán)將終止執(zhí)行,所以控制臺只會輸出數(shù)字0,代碼如下:eSR28資訊網——每日最新資訊28at.com

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. 將數(shù)組長度設置成0

我們也能通過將數(shù)組長度設置成0來終止forEach循環(huán)。代碼如下eSR28資訊網——每日最新資訊28at.com

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

3. 將數(shù)組元素移除

當滿足條件時,使用splice方法將數(shù)組內元素移除,也能終止forEach循環(huán)。代碼如下:eSR28資訊網——每日最新資訊28at.com

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和someeSR28資訊網——每日最新資訊28at.com

在日常工作中,一般是不會出現(xiàn)一種情況是讓你終止forEach循環(huán)的,如果有終止的情況,可以使用for和some方法。eSR28資訊網——每日最新資訊28at.com

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循環(huán)的方法就先介紹到這里了,希望對你有所幫助,感謝你的閱讀,編程快樂!eSR28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-49907-0.html三種在JavaScript中終止forEach循環(huán)的方式

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 七個常用的 Vue 3 UI 組件

下一篇: 你應該了解的 15 個 CSS 隱藏屬性

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數(shù)據(jù)的地方,是數(shù)據(jù)源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保
  • 最“俊美”淘寶賣家,靠直播和短視頻圈粉,上架秒光,年銷3000萬

    來源 | 電商在線文|易琬玉編輯|斯問受訪店鋪:Ringdoll戒之人形圖源:微博@御座的黃山、&ldquo;Ringdoll戒之人形&rdquo;淘寶店鋪有關外貌的評價,黃山已經聽累了。生于1985年的他,哪
  • 猿輔導與新東方的兩種“歸途”

    作者|卓心月 出品|零態(tài)LT(ID:LingTai_LT)如何成為一家偉大企業(yè)?答案一定是對&ldquo;勢&rdquo;的把握,這其中最關鍵的當屬對企業(yè)戰(zhàn)略的制定,且能夠站在未來看現(xiàn)在,即使這其中的
  • 三星顯示已開始為AR設備研發(fā)硅基LED微顯示屏

    7月18日消息,據(jù)外媒報道,隨著蘋果首款頭顯產品Vision Pro在6月份正式推出,AR/VR/MR等頭顯產品也就將成為各大公司下一個重要的競爭領域,對顯示屏這一關
  • 引領旗艦級影像能力向中端機普及 OPPO K11 系列發(fā)布 1799 元起

    7月25日,OPPO正式發(fā)布K系列新品—— OPPO K11 。此次 K11 在中端手機市場長期被忽視的影像板塊發(fā)力,突破性地搭載索尼 IMX890 旗艦大底主攝,支持 OIS
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀。  美國時間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內容審核等。此前,T
  • Meta盲目擴張致超萬人被裁,重金押注元宇宙而前景未明

    圖片來源:圖蟲創(chuàng)意日前,Meta創(chuàng)始人兼CEO 馬克&middot;扎克伯發(fā)布公開信,宣布Meta計劃裁員超11000人,占其員工總數(shù)13%。他公開承認了自己的預判失誤:&ldquo;不僅
Top