中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

用JavaScript打破forEach循環(huán)

發(fā)布于:2021-01-14 10:15:39

0

914

0

JavaScript forEach forEach循環(huán)

我寫了許多有關(guān)JavaScript技巧的博客文章:Promise技巧,類型轉(zhuǎn)換技巧,傳播技巧以及許多其他JavaScript技巧。最近,我遇到了另一個(gè)讓我大吃一驚的JavaScript技巧:如何打破forEach循環(huán)!

要forEach隨時(shí)中斷循環(huán),可以截?cái)鄶?shù)組的length:

const myArray = [1, 2, 3]; myArray.forEach(item => {   // ... do some stuff   if(someConditionIsMet) {     // Break out of the loop by truncating array     myArray.length = 0;   } })

通過將數(shù)組設(shè)置length為0,可以清空數(shù)組并立即停止forEach。當(dāng)然,清空陣列會(huì)丟失其原始數(shù)據(jù),因此您可能需要[...myArray].forEach在執(zhí)行此操作之前創(chuàng)建一個(gè)新的陣列()。

完成任務(wù)的另一種方法是拋出異常:

// https://stackoverflow.com/questions/2641347/short-circuit-array-foreach-like-calling-break let BreakException = {}; try {   [1, 2, 3].forEach(function(el) {     console.log(el);     if (el === 2) throw BreakException;   }); } catch (e) {   if (e !== BreakException) throw e; }

當(dāng)然,可能會(huì)有更好的方式來獲得所需的內(nèi)容而無需使用此技巧,例如使用.find或.some,但是并非每個(gè)技巧都需要成為最佳實(shí)踐!