欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中遍歷跳出循環(huán)方法總結(jié)

 更新時間:2023年12月06日 15:06:29   作者:@德瑪玩前端  
這篇文章主要給大家介紹了關(guān)于JavaScript中遍歷跳出循環(huán)方法的相關(guān)資料,一想到想到循環(huán)的跳出,立馬就會想到三個關(guān)鍵,break、return、continue,在業(yè)務(wù)中也會需要在遍歷的時候退出循環(huán),需要的朋友可以參考下

前言

javascript中的遍歷方法有很多,今天,主要總結(jié)一下這些遍歷方法如何跳出循環(huán),歡迎各位大神和同行們指教和修正??
首先,必須要知道的是:

  • return必須是使用在函數(shù)里面的
  • return有2個作用,結(jié)束函數(shù)和返回結(jié)果

JS中的遍歷有如下方式可以跳出循環(huán)

1.for方法 跳出循環(huán)

  • break 跳出當(dāng)前循環(huán),循環(huán)后面的代碼仍然可以執(zhí)行
  • return 可以終止當(dāng)前函數(shù),循環(huán)后面的代碼不可以執(zhí)行
  • continue 跳過當(dāng)次循環(huán),仍然執(zhí)行后續(xù)的循環(huán)
function a(){
var arr = [1,3,5,7,9];
var id = 5;
for (var i = 0; i < arr.length; i++) {
     if(arr[i]=== 1) continue;    //跳過當(dāng)次循環(huán)
     console.log(arr[i])
     if (arr[i] === id) {    
         break;                   //滿足條件,跳出循環(huán);循環(huán)后面的代碼仍然可以執(zhí)行
     }
	 if (arr[i] === 6) {
	     return;                   //滿足條件,可以終止當(dāng)前函數(shù)
	 }
 }
}

2.forEach方法跳出循環(huán)

  • 無法使用break,continue來跳出遍歷, 因?yàn)閒oreach是異步執(zhí)行,可能在break之前代碼就已經(jīng)執(zhí)行完了
  • forEach()本身無法跳出循環(huán),必須遍歷所有的數(shù)據(jù)才能結(jié)束
  • 通過拋出異常的方式跳出循環(huán) 實(shí)現(xiàn)break效果
// 在forEach中,無法用break等函數(shù)在遍歷結(jié)束之前結(jié)束遍歷,如果要提前終止,必須把forEach()方法放在一個try塊中,并能拋出一個異常。 
var arr = [1,3,5,7,9];
var id = 5;
try {
     arr.forEach(function (curItem, i) {
         if(curItem === 1) return;
         console.log(curItem)
         if (curItem === id) {
             throw Error();         //滿足條件,跳出循環(huán)
         }
     })
 } catch (e) {
 }
  • 通過return跳過當(dāng)次循環(huán) 實(shí)現(xiàn)continue的效果
arr.forEach(function (curItem, i) {
     if(curItem === 1) return;
     console.log(curItem)
     if (curItem === id) {
         return;         //滿足條件,跳出當(dāng)次循環(huán)
		                 // break 語法報錯;
 			 
     }
 })

3. map() 跳出循環(huán)

  • map和forEach一樣無法通過break跳出循環(huán)。
  • map() 和 forEach()的區(qū)別
 // 前者不改變原數(shù)組的內(nèi)容
 // 后者改變原數(shù)組的內(nèi)容

4. for of 跳出循環(huán)

  • continue 跳出當(dāng)次循環(huán)
for (let i of arr) {
	if (i === 3) {
	  continue
	}
	console.log(i)
}
  • break 跳出當(dāng)前循環(huán)
for (let i of arr) {
	if (i === 3) {
	  break
	}
	console.log(i)
}
  • return 可以終止當(dāng)前函數(shù),循環(huán)后面的代碼不可以執(zhí)行
var a=[1,2,3,4];
function b(){
	for(var key of a){
		if(key=2){
			return false
		};
		console.log('哈哈哈')}
};
console.log(b()) //false

5. while do while 跳出循環(huán)

  • continue 跳出當(dāng)次循環(huán)
let j = 1
while (j < 6) {
  if (j === 3) {
	j++
	continue
  }
  console.log(j) // 1 2  4 5
  j++
}
  • break 跳出當(dāng)前循環(huán)
var i=0;
while (i < 6) {
  if (i === 3) {
	  i++
	break
  }
  console.log(i) // 0,1,2
  i++
}
  • return 可以終止當(dāng)前函數(shù),循環(huán)后面的代碼不可以執(zhí)行
var i=0;
while (i < 6) {
  if (i === 3) {
	return
  }
  console.log(i)
  i++
}

every 遍歷

  • every可以通過return的返回bool值,控制是否繼續(xù)遍歷。
	 let arr = [1, 2, 3, 4, 5]
	   arr.every(i => {
	     console.log(i)
	     return true //1,2,3,4,5
	   })
	   
	 	arr.every(i => {
	     console.log(i)
	     if (i === 3) {
	       return false //1,2,3
	     } else {
	       return true
	     }
	   })

some 遍歷

  • some 可以通過控制return true來結(jié)束遍歷。
  • 如果沒有寫return,會遍歷到最后一個值,默認(rèn)給true關(guān)閉
  let arr = [1, 2, 3, 4, 5]
      arr.some(i => {
        console.log(i) // 1,2,3,4,5
      })
     
    
arr.some(i => {
        console.log(i)
        if (i === 3) {
          return true //1,2,3
        }
      })
    }

總結(jié) 

到此這篇關(guān)于JavaScript中遍歷跳出循環(huán)方法總結(jié)的文章就介紹到這了,更多相關(guān)JS遍歷跳出循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS對select控件option選項(xiàng)的增刪改查示例代碼

    JS對select控件option選項(xiàng)的增刪改查示例代碼

    Javascript操作select是表單中比較常見的,大家可以在網(wǎng)上搜索到很多的相關(guān)資料,接下來為大家詳細(xì)介紹下,JS動態(tài)操作select中的各種方法,感興趣的朋友可以參考下
    2013-10-10
  • 小程序?qū)崿F(xiàn)錄音上傳功能

    小程序?qū)崿F(xiàn)錄音上傳功能

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)錄音上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • JavaScript一文帶你玩轉(zhuǎn)web表單網(wǎng)頁

    JavaScript一文帶你玩轉(zhuǎn)web表單網(wǎng)頁

    表單通常用來收集網(wǎng)頁訪問者信息,常見的表單比如搜索引擎的搜索框、各網(wǎng)頁應(yīng)用的注冊或者登陸界面等,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下
    2021-10-10
  • Javascript學(xué)習(xí)筆記-詳解in運(yùn)算符

    Javascript學(xué)習(xí)筆記-詳解in運(yùn)算符

    in運(yùn)算符是javascript語言中比較特殊的一個,可以單獨(dú)使用作為判斷運(yùn)算符,也常被用于for...in循環(huán)中遍歷對象屬性
    2011-09-09
  • JS文本框追加多個下拉框的值的簡單實(shí)例

    JS文本框追加多個下拉框的值的簡單實(shí)例

    這篇文章介紹了JS文本框追加多個下拉框的值的例子,有需要的朋友可以參考一下
    2013-07-07
  • JS/HTML5游戲常用算法之追蹤算法實(shí)例詳解

    JS/HTML5游戲常用算法之追蹤算法實(shí)例詳解

    這篇文章主要介紹了JS/HTML5游戲常用算法之追蹤算法,結(jié)合吃豆人游戲的算法原理以實(shí)例形式詳細(xì)分析了追蹤算法的相關(guān)算法操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • JS實(shí)現(xiàn)超簡單的漢字轉(zhuǎn)拼音功能示例

    JS實(shí)現(xiàn)超簡單的漢字轉(zhuǎn)拼音功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)超簡單的漢字轉(zhuǎn)拼音功能,結(jié)合實(shí)例形式分析了javascript漢字轉(zhuǎn)換成拼音的函數(shù)定義與使用技巧,需要的朋友可以參考下
    2016-12-12
  • CSS(js)限制頁面顯示的文本字符長度

    CSS(js)限制頁面顯示的文本字符長度

    限制頁面顯示的字符長度,一直被眾多網(wǎng)友傾睬,本人也是一fans利用閑暇時間搜集整理了一些實(shí)用技巧,需要了解的朋友可以參考下
    2012-12-12
  • 如何用JavaScipt測網(wǎng)速

    如何用JavaScipt測網(wǎng)速

    這篇文章主要介紹了如何用JavaScipt測網(wǎng)速,對測網(wǎng)速感興趣的同學(xué),可以參考下
    2021-05-05
  • uni-app表單組件(form表單)用法舉例

    uni-app表單組件(form表單)用法舉例

    平時我們經(jīng)常會使用到表單,下面這篇文章主要給大家介紹了關(guān)于uni-app表單組件(form表單)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12

最新評論