JavaScript中for與forEach分別如何跳出循環(huán)
for 循環(huán)
在 for 循環(huán)中,退出循環(huán)的兩種方式:
- break; 退出整個循環(huán)
- continue; 退出當(dāng)次循環(huán)
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let i = 0; i < array.length; i++) {
if (array[i] === 6) {
// break; // 退出整改循環(huán),
continue; // 退出當(dāng)次循環(huán)
}
// 其他操作...
console.log('Loop:', array[i]);
}
// 某種情況下,也可以使用 return 完成終止循環(huán)
break 退出整個循環(huán)

continue 退出當(dāng)次循環(huán)

forEach
在JavaScript中,forEach方法是用于遍歷數(shù)組的方法,它會對數(shù)組中的每個元素執(zhí)行指定的操作。
forEach方法本身并不提供直接的方式來跳出循環(huán),但你可以使用一些技巧來跳出循環(huán)或模擬跳出循環(huán)的效果。
方法一:try{}catch(){} 結(jié)合 throw 拋錯的方式退出循環(huán)
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
try {
array.forEach((element) => {
if (element === 6) throw new Error('End Loop!')
// 其他操作
console.log('Loop:', element)
})
} catch (e) {
console.log(e)
}

方法二:是使用一個標(biāo)志變量,通過控制該變量的值來跳出循環(huán)
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// 定義一個變量
let isBreak = false;
array.forEach((item) => {
console.log("其實(shí)每次都會循環(huán):", item);
// 某個條件滿足時設(shè)置 isBreak 為 true,方便跳出循環(huán)
if (item > 4) {
isBreak = true;
}
// 檢查是否需要跳出循環(huán)
if (isBreak) {
return; // 終止當(dāng)次循環(huán),但會繼續(xù)執(zhí)行下一次循環(huán),下一次循環(huán)會繼續(xù)判斷
}
// 其他操作...
console.log('其他操作:', item);
});
在上述示例中,通過設(shè)置 isBreak 變量為 true,在下一次迭代開始之前使用 return 中斷了當(dāng)前的迭代,從而模擬了跳出循環(huán)的效果。
需要注意的是,這種方法只能跳出當(dāng)前的迭代,而不能直接跳出整個 forEach 循環(huán)。如果你需要完全跳出 forEach 循環(huán),可以考慮使用其他循環(huán)結(jié)構(gòu),如 for 循環(huán)或 while 循環(huán),以便更好地控制循環(huán)的流程。
提到在一段程序中如果碰到需要終止,結(jié)束一個循環(huán),函數(shù)或者一段代碼,一般會想到以下這幾個關(guān)鍵字return、continue、break
簡述一下三者的區(qū)別:
- break: 終止整個循環(huán)(有內(nèi)層循環(huán)時終止的是內(nèi)層循環(huán)),退出switch語句;只能用于循環(huán)或者switch語句中,其他地方使用會報錯
- continue:與break相似,不同之處在于結(jié)束的是本次循環(huán),相當(dāng)于跳過本次循環(huán)執(zhí)行下一次循環(huán);只能用于while,do/while,for,for/in循環(huán)中,其他地方使用會報錯
- return: return false截斷語句之后的代碼執(zhí)行,如果用于函數(shù)中,可以返回一個特點(diǎn)的值,做完函數(shù)的返回值;不能用在循環(huán)中
總結(jié)
到此這篇關(guān)于JavaScript中for與forEach分別如何跳出循環(huán)的文章就介紹到這了,更多相關(guān)JS for與forEach跳出循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于JavaScript實(shí)現(xiàn)根據(jù)手機(jī)定位獲取當(dāng)前具體位置(X省X市X縣X街道X號)
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)根據(jù)手機(jī)定位獲取當(dāng)前具體位置(X省X市X縣X街道X號)的相關(guān)資料,需要的朋友可以參考下2015-12-12
原創(chuàng)javascript小游戲?qū)崿F(xiàn)代碼
javascript小游戲?qū)崿F(xiàn)代碼,喜歡用javascript實(shí)現(xiàn)游戲效果代碼的朋友可以參考下。2010-08-08
webpack的tree shaking的實(shí)現(xiàn)方法
這篇文章主要介紹了webpack的tree shaking的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
ECHO.js 純javascript輕量級延遲加載的實(shí)例代碼
下面小編就為大家?guī)硪黄狤CHO.js 純javascript輕量級延遲加載的實(shí)例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
JavaScript及jquey實(shí)現(xiàn)多個數(shù)組的合并操作
這篇文章主要介紹了JavaScript及jquey實(shí)現(xiàn)多個數(shù)組的合并操作,在某些情況下還是比較實(shí)用的,需要的朋友可以參考下2014-09-09

