技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

為什么不能在forEach中使用break、continue或return?

作者:admin    時間:2023-6-7 16:26:51    瀏覽:

為什么我們不能在 forEach 中使用 break、continuereturn?

讓我們從一個例子開始。

<script>
      let amounts=[1.25,2.25,3.25,4.25];
      amounts.forEach((item)=>{
      if(item===3.25){
      break;
      }
      });
</script>

輸出

 

提示是語法錯誤,無效的 break 語句。

我們深入了解一下 forEach 方法。

官方MDN(Mozilla 開發(fā)者網(wǎng)絡(luò))文檔說,

除了拋出異常之外,沒有其他方法可以停止或中斷 forEach() 循環(huán)。如果有這樣的需求,則不應(yīng)該使用 forEach() 方法。

原因是 forEach 循環(huán)方法有一個應(yīng)用于數(shù)組中每個元素的回調(diào)函數(shù)。因此,無論函數(shù)內(nèi)是否有跳轉(zhuǎn)語句,如 continue 或 break,回調(diào)函數(shù)都需要自行完成。 

官方MDN文檔還說到,

可以通過像 forfor...offor...in 這樣的循環(huán)語句來實現(xiàn)提前終止。當(dāng)不需要進一步迭代時,諸如 every()、some()find()findIndex() 等數(shù)組方法也會立即停止迭代。

示例

使用 findIndex() 方法立即停止迭代

const array1 = [5, 12, 8, 130, 44];

const isLargeNumber = (element) => element > 13;

console.log(array1.findIndex(isLargeNumber));

// 輸出: 3

使用 findIndex() 方法立即停止迭代

參考文章

相關(guān)文章

標(biāo)簽: forEach方法  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */