日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

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

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

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

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

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

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

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

一、序言

這個問題估計會難倒一部分同學。甚至會有人反問,forEach循環在JavaScript中能終止嗎? 比如 ,我舉個例子aqx28資訊網——每日最新資訊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循環。 forEach相當于就是函數的執行,比如下面這段代碼,即使func1執行了return語句,仍然會打印出2。aqx28資訊網——每日最新資訊28at.com

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

二、終止方法

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

1. 拋出錯誤

當找到一個大于等于0的數字之后,return循環將終止執行,所以控制臺只會輸出數字0,代碼如下:aqx28資訊網——每日最新資訊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. 將數組長度設置成0

我們也能通過將數組長度設置成0來終止forEach循環。代碼如下aqx28資訊網——每日最新資訊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. 將數組元素移除

當滿足條件時,使用splice方法將數組內元素移除,也能終止forEach循環。代碼如下:aqx28資訊網——每日最新資訊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和someaqx28資訊網——每日最新資訊28at.com

在日常工作中,一般是不會出現一種情況是讓你終止forEach循環的,如果有終止的情況,可以使用for和some方法。aqx28資訊網——每日最新資訊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循環的方法就先介紹到這里了,希望對你有所幫助,感謝你的閱讀,編程快樂!aqx28資訊網——每日最新資訊28at.com

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

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

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

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 永嘉县| 双鸭山市| 崇阳县| 错那县| 喀喇沁旗| 永泰县| 昔阳县| 安新县| 阿城市| 郯城县| 腾冲县| 屯门区| 星座| 京山县| 自贡市| 岳阳市| 沙河市| 赣州市| 水富县| 新和县| 东乡族自治县| 福海县| 中宁县| 威海市| 辉南县| 介休市| 毕节市| 邢台县| 北辰区| 荥阳市| 成安县| 武平县| 弋阳县| 丁青县| 蓝田县| 南开区| 凤山市| 天峨县| 蓝田县| 五指山市| 克什克腾旗|