js 數組的循環


 

//數組循環
    var list=[
      {
        name:"hq",
        age:"12"
      },
      {
        name:"xq",
        age:"24"
      },
      {
        name:"gq",
        age:"32"
      }
    ];
    
    //使用臨時變量,將長度緩存起來,避免重復獲取數組長度,當數組較大時優化效果才會比較明顯。
    for(var i=0;i<list.length;i++){
        console.log(list[i])
    }
    /* 遍歷數組中的每一項,沒有返回值,對原數組沒有影響,不支持IE */
    list.forEach(function(v,k){
        console.log("27forEach",v);
        //v.age="44"//這樣賦值是可以改變原來數組的
    })
    //map的回調函數中支持return返回值;return的是啥,相當於把數組中的這一項變為啥(並不影響原來的數組,只是相當於把原數組克隆一份,把克隆的這一份的數組中的對應項改變了);
    /*  */
    list.map(function(v,k,ar){
        console.log("38map",v,k,ar);
        //v.age=44
    })
    console.log("42",list)
    
    //forof可以正確響應break、continue和return語句
    for(let val of list){
        console.log("44",val);
        //val.age=44
    }
    
    //for - in語句用於對數組或者對象的屬性進行循環操作。
    //主要用於循環對象
    let obj={'name':'programmer','age':'22','height':'180'};
    for(let i in obj){
        console.log(i,obj[i])
    }
    
    

    // while (條件)
    // {
    //     需要執行的代碼
    // }
    var i=0,j=0;
    while(i<list.length){
        console.log("63",i,list[i]);
        i++
    }
    
    do{
        console.log("82",j,list[j])
        j++;
    }while(j<list.length)
    
    /* ES6為Array增加了from函數用來將其他對象轉換成數組。
       也可以用於數組的循環
     */
     var objectc={name:"hh"}
     Array.from(list,function(v,k){
         console.log("79",v);
         //console.log(this);this指向objectc
         //v.age="55"
     },objectc);
     console.log(list);
Object.keys(objectc).forEach(function(v,k){
})
//every,some更多用於判斷 //every()是對數組中的每一項運行給定函數,如果該函數對每一項返回true,則返回true。 var num=[10,12,13,15,16,11,13] var b=num.every(function(item,index,arr){ return item>15//所有的都為true才為true,否則false }) console.log(b); //.some()方法,同樣是針對數組中的每一個元素,但是這個方法是,只要有一個元素比對結果為true,返回結果就為true,反之要所有的元素比對結果為false才為false //與every()相反 var c=num.some(function(item,index,arr){ return item>15//有其中一個為true就為true,所有false才是false }) console.log("some",c);

 

 

參考:

https://www.cnblogs.com/woshidouzia/p/9304603.html

https://www.jb51.net/article/204620.htm

https://www.cnblogs.com/zl-light/p/11482005.html

https://blog.csdn.net/shangyanaf/article/details/80415236

https://blog.csdn.net/a806488840/article/details/89668616 -- every/some

https://www.cnblogs.com/lxz-blogs/p/12807706.html --array.from

https://www.cnblogs.com/kongxianghai/p/7417210.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM