JS forEach跳出循環(huán)2種實(shí)現(xiàn)方法
假設(shè)當(dāng)我們只需知道某個(gè)數(shù)組有沒有某個(gè)屬性,如果找到了直接跳出循環(huán),省略掉剩下的循環(huán)步驟是較優(yōu)化的操作,但是for中是可以利用break跳出循環(huán),但break在forEach中無效,那么forEach能不能跳出循環(huán)呢?當(dāng)然是可以。
1.正常for循環(huán)break跳出循環(huán)
let strArr = [’a’, ’b’, ’c’, ’d’], i = 0, length = strArr.length;for (; i < length; i++) { console.log(strArr[i]);//a if(arr[i] === ’a’){ //do something }; break;};
2.forEach結(jié)合try...catch()可以跳出循環(huán)
try { var arr = [1, 2, 3, 4]; arr.forEach(function (item, index) { //跳出條件 if (item === 3) { throw new Error('LoopTerminates'); } //do something console.log(item); });} catch (e) { if (e.message !== 'LoopTerminates') throw e;};
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解JSP 內(nèi)置對象request常見用法2. NetCore 配置Swagger的詳細(xì)代碼3. ASP.NET MVC增加一條記錄同時(shí)添加N條集合屬性所對應(yīng)的個(gè)體4. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別5. 解決request.getParameter取值后的if判斷為NULL的問題6. JSP中param動(dòng)作的實(shí)例詳解7. ASP.NET MVC實(shí)現(xiàn)下拉框多選8. .Net反向代理組件Yarp用法詳解9. .NET中的MassTransit分布式應(yīng)用框架詳解10. ASP.NET MVC實(shí)現(xiàn)本地化和全球化
