詳解JS中如何終止foreach循環(huán)
forEach專門用來循環(huán)數(shù)組,可以直接取到元素,同時也可以取到index值
存在局限性,不能continue跳過或者break終止循環(huán),沒有返回值,不能return
終止foreach循環(huán) :運用拋出異常(try catch)可以終止foreach循環(huán)
for of是ES6新引入的特性。修復(fù)了ES5中for in的不足
允許遍歷 Arrays(數(shù)組)、Strings(字符串)、Maps(映射)、Sets(集合)等可迭代的數(shù)據(jù)結(jié)構(gòu)
for of 支持return
最下方有個在項目中的實例
錯誤用法1:使用break(會報錯)
var array = ["第一","第二","第三","第四"]; // 直接就報錯了 array.forEach(function(item,index){ if (item == "第三") { break; } alert(item); });
報錯如下
錯誤用法2:使用return fasle (只是終止本次循環(huán))
相當(dāng)于for 循環(huán)中的continue
var array = ["第一","第二","第三","第四"]; // 會遍歷數(shù)組所有元素,只是執(zhí)行跳過"第三",return false下面的代碼不再執(zhí)行而已 array.forEach(function(item,index){ if (item == "第三") { return false; } console.log(item);// "第一" "第二" "第四" }); console.log("以下代碼")// 以下代碼
正確用法:運用拋出異常(try catch)
try { var array = ["第一","第二","第三","第四"]; // 執(zhí)行到第3次,結(jié)束循環(huán) array.forEach(function(item,index){ if (item == "第三") { throw new Error("第三"); } console.log(item);// 第一 第二 }); } catch(e) { if(e.message!="第三") throw e; }; // 下面的代碼不影響繼續(xù)執(zhí)行 console.log("下方代碼");//下方代碼
實例如下
try { this.txt.forEach((item, index) => { if (!item.name) { throw new Error('單課不能為空!') } if (!item.val) { throw new Error('上課老師不能為空!') } if (!item.date) { throw new Error('上架時間不能為空!') } }) } catch (e) { this.$message.warning(e.message) return };
以上就是詳解JS中如何終止foreach循環(huán)的詳細(xì)內(nèi)容,更多關(guān)于JS終止foreach循環(huán)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于JavaScript開發(fā)一個有趣的分組抽簽小程序
在團(tuán)隊合作開發(fā)中,經(jīng)常需要將團(tuán)隊成員分組,來完成各自的任務(wù),而抽簽的方式自然是最公平、最簡單的方法之一,所以本文就來開發(fā)一個有趣的分組抽簽小程序吧2023-05-05JavaScript中Object.values()的用法舉例
這篇文章主要給大家介紹了關(guān)于JavaScript中Object.values()的用法舉例,Object.values()是JavaScript中一個內(nèi)置的靜態(tài)函數(shù),用于返回一個對象中所有屬性值的數(shù)組,需要的朋友可以參考下2023-09-09JavaScript 關(guān)鍵字屏蔽實現(xiàn)函數(shù)
JavaScript屏蔽關(guān)鍵字,大概的思路就是去用javascript去替換已有的文本,達(dá)到替換的目的2009-08-08