JavaScript中for與forEach分別如何跳出循環(huán)
for 循環(huán)
在 for 循環(huán)中,退出循環(huán)的兩種方式:
- break; 退出整個(gè)循環(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 退出整個(gè)循環(huán)
continue 退出當(dāng)次循環(huán)
forEach
在JavaScript中,forEach
方法是用于遍歷數(shù)組的方法,它會(huì)對(duì)數(shù)組中的每個(gè)元素執(zhí)行指定的操作。
forEach
方法本身并不提供直接的方式來跳出循環(huán),但你可以使用一些技巧來跳出循環(huán)或模擬跳出循環(huán)的效果。
方法一:try{}catch(){} 結(jié)合 throw 拋錯(cuò)的方式退出循環(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) }
方法二:是使用一個(gè)標(biāo)志變量,通過控制該變量的值來跳出循環(huán)
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 定義一個(gè)變量 let isBreak = false; array.forEach((item) => { console.log("其實(shí)每次都會(huì)循環(huán):", item); // 某個(gè)條件滿足時(shí)設(shè)置 isBreak 為 true,方便跳出循環(huán) if (item > 4) { isBreak = true; } // 檢查是否需要跳出循環(huán) if (isBreak) { return; // 終止當(dāng)次循環(huán),但會(huì)繼續(xù)執(zhí)行下一次循環(huán),下一次循環(huán)會(huì)繼續(xù)判斷 } // 其他操作... console.log('其他操作:', item); });
在上述示例中,通過設(shè)置 isBreak
變量為 true
,在下一次迭代開始之前使用 return
中斷了當(dāng)前的迭代,從而模擬了跳出循環(huán)的效果。
需要注意的是,這種方法只能跳出當(dāng)前的迭代,而不能直接跳出整個(gè) forEach
循環(huán)。如果你需要完全跳出 forEach
循環(huán),可以考慮使用其他循環(huán)結(jié)構(gòu),如 for
循環(huán)或 while
循環(huán),以便更好地控制循環(huán)的流程。
提到在一段程序中如果碰到需要終止,結(jié)束一個(gè)循環(huán),函數(shù)或者一段代碼,一般會(huì)想到以下這幾個(gè)關(guān)鍵字return、continue、break
簡(jiǎn)述一下三者的區(qū)別:
- break: 終止整個(gè)循環(huán)(有內(nèi)層循環(huán)時(shí)終止的是內(nèi)層循環(huán)),退出switch語句;只能用于循環(huán)或者switch語句中,其他地方使用會(huì)報(bào)錯(cuò)
- continue:與break相似,不同之處在于結(jié)束的是本次循環(huán),相當(dāng)于跳過本次循環(huán)執(zhí)行下一次循環(huán);只能用于while,do/while,for,for/in循環(huán)中,其他地方使用會(huì)報(bào)錯(cuò)
- return: return false截?cái)嗾Z句之后的代碼執(zhí)行,如果用于函數(shù)中,可以返回一個(gè)特點(diǎn)的值,做完函數(shù)的返回值;不能用在循環(huán)中
總結(jié)
到此這篇關(guān)于JavaScript中for與forEach分別如何跳出循環(huán)的文章就介紹到這了,更多相關(guān)JS for與forEach跳出循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流foreach綁定
這篇文章主要介紹了KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流foreach綁定的相關(guān)資料,需要的朋友可以參考下2016-10-10JavaScript運(yùn)動(dòng)框架 多物體任意值運(yùn)動(dòng)(三)
這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動(dòng)框架的第三部分,多物體任意值運(yùn)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JavaScript實(shí)現(xiàn)簡(jiǎn)單的彈窗效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05通過button將form表單的數(shù)據(jù)提交到action層的實(shí)例
下面小編就為大家?guī)硪黄ㄟ^button將form表單的數(shù)據(jù)提交到action層的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09layui 對(duì)table中的數(shù)據(jù)進(jìn)行轉(zhuǎn)義的實(shí)例
今天小編就為大家分享一篇layui 對(duì)table中的數(shù)據(jù)進(jìn)行轉(zhuǎn)義的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09