最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

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

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

  • break 跳出當前循環(huán),循環(huán)后面的代碼仍然可以執(zhí)行
  • return 可以終止當前函數,循環(huán)后面的代碼不可以執(zhí)行
  • continue 跳過當次循環(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;    //跳過當次循環(huán)
     console.log(arr[i])
     if (arr[i] === id) {    
         break;                   //滿足條件,跳出循環(huán);循環(huán)后面的代碼仍然可以執(zhí)行
     }
	 if (arr[i] === 6) {
	     return;                   //滿足條件,可以終止當前函數
	 }
 }
}

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

  • 無法使用break,continue來跳出遍歷, 因為foreach是異步執(zhí)行,可能在break之前代碼就已經執(zhí)行完了
  • forEach()本身無法跳出循環(huán),必須遍歷所有的數據才能結束
  • 通過拋出異常的方式跳出循環(huán) 實現(xiàn)break效果
// 在forEach中,無法用break等函數在遍歷結束之前結束遍歷,如果要提前終止,必須把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跳過當次循環(huán) 實現(xiàn)continue的效果
arr.forEach(function (curItem, i) {
     if(curItem === 1) return;
     console.log(curItem)
     if (curItem === id) {
         return;         //滿足條件,跳出當次循環(huán)
		                 // break 語法報錯;
 			 
     }
 })

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

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

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

  • continue 跳出當次循環(huán)
for (let i of arr) {
	if (i === 3) {
	  continue
	}
	console.log(i)
}
  • break 跳出當前循環(huán)
for (let i of arr) {
	if (i === 3) {
	  break
	}
	console.log(i)
}
  • return 可以終止當前函數,循環(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 跳出當次循環(huán)
let j = 1
while (j < 6) {
  if (j === 3) {
	j++
	continue
  }
  console.log(j) // 1 2  4 5
  j++
}
  • break 跳出當前循環(huán)
var i=0;
while (i < 6) {
  if (i === 3) {
	  i++
	break
  }
  console.log(i) // 0,1,2
  i++
}
  • return 可以終止當前函數,循環(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來結束遍歷。
  • 如果沒有寫return,會遍歷到最后一個值,默認給true關閉
  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
        }
      })
    }

總結 

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

相關文章

最新評論

黔西| 清涧县| 买车| 广水市| 高碑店市| 江阴市| 莱阳市| 五河县| 霍林郭勒市| 天门市| 吉林省| 申扎县| 合山市| 文成县| 晋中市| 项城市| 鞍山市| 浠水县| 连云港市| 庐江县| 永善县| 东莞市| 和顺县| 鲁甸县| 呼图壁县| 鄂托克前旗| 京山县| 乐平市| 兴宁市| 贺州市| 焦作市| 隆子县| 金沙县| 北辰区| 丘北县| 万源市| 县级市| 富顺县| 镇江市| 新巴尔虎右旗| 大竹县|