跳出for循環的方法

前言

一般我們在寫程序的時候都會用到for循環來查找某一個值或者是對數據做指定的修改,但是我們要尋找的數據並不是放在循環的最後面的,所以當我們找到數據之後,爲了節約瀏覽器的性能,免不了有結束循環的需求,以下是幾種常用的跳出循環的方法。

跳過當前循環

我們可以使用continue來跳過當前循環,直接進入下個循環。

for (var i = 0; i < 3; i++){
  if(i == 2) continue;
  console.log(i);
}
//0
//2
跳出當前循環

我們可以使用break來跳出當前循環;結束當前for循環;如下當我們break之後的代碼就不會再執行了。

for (var i = 0; i < 5; i++){
  if(i == 3) break;
  console.log(i);
}
//0
//1
//2
跳出多層for循環

但是當我們使用了多層for循環的時候,使用continuebreak就無法跳出外層的循環了,所以我們需要使用一些技巧,來跳出外層循環。

  1. 使用lebel語句

標籤可以是任意的標識符,但不能是保留字,語句部分可以是任意語句。

    jump:
    for (var i = 0; i < 3; i++){
      for (var j = 0; j < 3; j++){
        if (i === 1 && j === 1) {
          break jump;
        }
        console.log( i , j);
      }
    }
//0 0
//0 1
//0 2
//1 0

label也可以用於跳出代碼塊,注意要加 break 才能退出。

jump: {
  console.log(1);
  break jump; 
  console.log('不會輸出');
}
console.log(2);
// 1
// 2
  1. 使用function
function jumpFor() {
  for(var k=0;k<8;k++){
     for(var j=0;j<4;j++){
        if(k == j ){return false;}
        console.log(k,j)
     }
   }
}
jumpFor()
//0 2
//0 3
//1 2
//1 3
小結

一般常用到的方法就是這些,此文做筆記使用,歡迎各位指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章