js中常用的一些遍歷方法,及一些跳出循環的方法

1.首先看看跳出循環的方法

1)結束本次循環進入下一次循環:

continue:for循環 、 for in 、 for of

return true/false:for Each 

2)結束整個循環

break:for循環 、 for in 、 for of、while、do{}while()、

try catch:for Each等各種需要終止循環的程序

3)注意:如果有兩層for循環,內層continue只結束內層本次循環,內層break只結束內層循環

for(var i=1;i<=5;i++){
                for(var j=1;j<=3;j++){
                    if(j==2){
                        break; //i取每個值時,都會執行j的循環,但是當j==2時,本次i對應的j循環就全部結束,進入下一個i的j循環
                    }
                    alert(j)
                }
            }

2.js常用的循環遍歷

1)array.map(function(currentValue,index,arr),thisValue)   返回數組

     map()方法返回一個新數組,數組中的元素爲原始數組元素調用函數處理的後值。 

     map()方法按照原始數組元素順序依次處理元素。 

                    var numbers = [1,2,3,4];
                    function myFunction(num,index,arr){
            
                        console.log('arr',arr);
            
                        console.log('index',index);
            
                        console.log('num',num);
            
                        return num * 2;
            
                    }
                       var mm = numbers.map(myFunction);
                       console.log(mm)    //[2,4,6,8]

2)array.some(function(currentValue,index,arr),thisValue)    返回布爾值

some() 方法用於檢測數組中的元素是否滿足指定條件(函數提供)。

some() 方法會依次執行數組的每個元素:

  • 如果有一個元素滿足條件,則表達式返回true , 剩餘的元素不會再執行檢測。
  • 如果沒有滿足條件的元素,則返回false。

var ages = [3, 10, 18, 20];
function checkAdult(age) {
    return age >= 18;
}
var m= ages.some(checkAdult);  //true

3)Object.keys(obj|array)   返回數組

返回一個所有元素爲字符串的數組,其元素來自於從給定的object上面可直接枚舉的屬性。這些屬性的順序與手動遍歷該對象屬性時的一致。

var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

4)array.filter(function(currentValue,index,arr), thisValue)   返回數組

filter() 方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。

注意: filter() 不會對空數組進行檢測。

注意: filter() 不會改變原始數組。

var ages = [32, 33, 16, 40];
function checkAdult(age) {
    return age >= 18;
}
var m= ages.filter(checkAdult); //[32,33,40]
5)for of 一般用來遍歷數組(一般不用for in遍歷數組:會把數組所有原型屬性及方法都列舉出來影響預期結果)

var array = ["first","second","third","fourth"];

for(var item of array){
                if (item == "third") {
                   break;
                }
                alert(item);// first,sencond
            }

6)for in 用來遍歷對象屬性(使用for in會遍歷數組所有的可枚舉屬性,包括原型)

  定義:用於循環遍歷數組或對象屬性,fot in循環裏面的index是string類型的,

                 代碼每執行一次,就會對數組的元素或者對象的屬性進行一次操作

     缺點:某些情況下,會出現隨機順序的遍歷,因爲裏面的值是string類型,所以
                增加了轉換過程,因此開銷較大

     優點:可以遍歷數組的鍵名,遍歷對象簡潔方便

var obj={
                 name:'zs',
                 age:'23',
                 sex:'男'
             }

      for(var key in obj){
                if (key == "age") {
                   continue;
                }
                alert(key);// ['name','sex']
            }

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