<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 關(guān)于JavaScript獲取時間函數(shù)及實現(xiàn)倒計時

    2020-5-24    前端達(dá)人

    JavaScript數(shù)組對象的迭代方法詳解

    上一篇博客講到了數(shù)組的方法,當(dāng)然里邊比較復(fù)雜的就是數(shù)組的迭代方法,因為涉及到了回調(diào)函數(shù),所以這篇博客我們來詳細(xì)講解一下js數(shù)組迭代方法的使用。


    1.forEach(funcrion(value,index,arr){}):對數(shù)組的每一項運行給定函數(shù),這個方法不進(jìn)行返回,所以一般用于讓數(shù)組循環(huán)執(zhí)行某方法。

      var arr=[1,2,3,4,5,6];

        arr.forEach(function(val,index,arr){

            console.log(val,index,arr);

        })

        // 其中:

        // value:每一個數(shù)組項的值 必填項

        // index:每一個數(shù)組項對應(yīng)的索引

        // arr:當(dāng)前的數(shù)組


    注意:forEach()方法不返回值,所以回調(diào)函數(shù)中使用return會打印出來undefined

    2.map(funcrion(value,index,arr){}):對數(shù)組的每一項運行給定函數(shù),它將返回執(zhí)行函數(shù)后的結(jié)果組成的新數(shù)組。

     var aNum2 = [1.2, 1.8, 2.0, 4.3];

        console.log(aNum2.map(Math.floor()));// [1,1,2,4]

        

        var arr=[1,2,3];

        console.log(arr.map(function(val,index){

            return val*3

        }));// 3 6 9

        // 其中:

        // value:每一個數(shù)組項的值 必填項

        // index:每一個數(shù)組項對應(yīng)的索引

        // arr:當(dāng)前的數(shù)組

    注意:map()方法有返回值,返回值為新的數(shù)組,所以可以直接再回調(diào)函數(shù)中return

    3.every(funcrion(value,index,arr){}):對數(shù)組的每一項都運行給定函數(shù),進(jìn)項判斷,若對于每項執(zhí)行函數(shù)都返回了true,則其結(jié)果為true。

     var arr=[10,20,30];

        console.log(arr.every(function(val){

            return val>20;

        }));// false

        

        console.log(arr.every(function(val){

            return val>0;

        }));// true

        

        // 其中:

        // value:每一個數(shù)組項的值 必填項

        // index:每一個數(shù)組項對應(yīng)的索引

        // arr:當(dāng)前的數(shù)組



    注意:every()方法所有的數(shù)組項都符合判斷時返回true,否則返回false。

    4.some(funcrion(value,index,arr){}):對數(shù)組的每一項都運行給定函數(shù),進(jìn)行判斷,若存在一項符合條件的數(shù)組項,則其結(jié)果為true。

        var arr=[10,20,30];

        console.log(arr.some(function(val){

            return val>20;

        }));// true

        

        console.log(arr.some(function(val){

            return val>0;

        }));// true

        

        console.log(arr.some(function(val){

            return val<0;

        }));// false

        

        arr.some(function(val){

            console.log(val<0);

        });//fasle false false

        // 其中:

        // value:每一個數(shù)組項的值 必填項

        // index:每一個數(shù)組項對應(yīng)的索引

        // arr:當(dāng)前的數(shù)組


    注意:some()方法如果回調(diào)函數(shù)執(zhí)行完會根據(jù)結(jié)果返回true或false,但是回調(diào)函數(shù)中打印判斷是,只會作為判斷條件的返回值,則會打印多遍。

    5.fliter(funcrion(value,index,arr){}):對數(shù)組的每一項都運行給定函數(shù),進(jìn)行過濾,將符合條件的數(shù)組項添加到新的數(shù)組中,并返回新的數(shù)組。

       var aNum=[1,2,3,4];
        console.log(aNum.filter(function (num) {
            return num > 1;
        }));//[2,3,4,]
        aNum.filter(function (num) {
            console.log(num > 1);//true true true
        })

    注意:filter()方法對數(shù)組項進(jìn)行過濾,然后將符合條件的數(shù)組項添加到一個新的數(shù)組并返回,但是如果直接打印這個判斷條件,相當(dāng)于打印的判斷條件的結(jié)果,只會返回true或者false。

    6.ES6中新增的迭代方法

    1.find():返回第一個符合傳入測試(函數(shù))條件的數(shù)組元素。


      var aNum=[10,20,30,40];

        console.log(aNum.find(function (num) {

            return num > 19;

        }));//1

        console.log(aNum.find(function (num) {

            return num < 0;

        }));//undefined



    2.findIndex():返回符合傳入測試(函數(shù))條件的數(shù)組元素索引。


    console.log(aNum.findIndex(function (num) { return num > 19; }));//3


    3.includes():判斷一個數(shù)組是否包含一個指定的值。

    總結(jié):

    forEach()與map()是一對,用于數(shù)組遍歷執(zhí)行指定函數(shù),前者不返回數(shù)組,后者返回 處理過的新數(shù)組。
    every()與some()是一對,分別適用于檢測數(shù)組是否全部滿足某條件或者存在滿足的數(shù)組項,返回true或false。
    filter()則是相當(dāng)于過濾器的存在,過濾掉數(shù)組中不符合條件的數(shù)據(jù),將符合條件的數(shù)組項添加到新數(shù)組,并返回。
    ————————————————
    版權(quán)聲明:本文為CSDN博主「Mr_Han119」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
    原文鏈接:https://blog.csdn.net/qq_39155611/java/article/details/106294417


    日歷

    鏈接

    個人資料

    存檔

    主站蜘蛛池模板: 精品国产麻豆免费人成网站| 久久精品国产清自在天天线| 国产亚洲色婷婷久久99精品91| 久久丫精品国产亚洲av| 国产线视频精品免费观看视频| 国产精品亚洲午夜一区二区三区 | 久久精品中文騷妇女内射| 精品人妻少妇嫩草AV无码专区| 精品视频一区二区三区在线观看| 无码人妻精品一区二区三区66| 自怕偷自怕亚洲精品| 国产日产韩国精品视频| 亚洲精品午夜无码电影网| 免费国产在线精品一区| 国产精品自在线拍国产第一页| 欧洲精品视频在线观看| 97久久精品无码一区二区天美| 色妞ww精品视频7777| 亚洲精品乱码久久久久久自慰| 欧美精品三区| 欧美精品高清在线xxxx| 精品中文高清欧美| 精品熟女少妇aⅴ免费久久| 国产精品自在欧美一区| 国产午夜精品一本在线观看| 999国产精品视频| 91精品免费久久久久久久久| 久久99热国产这有精品| 精品一区二区三区免费| 亚洲第一精品在线视频| 亚洲国产精品久久66| 久久国产精品久久| 欧美精品免费线视频观看视频| 久久91精品国产91久久户| 欧美精品在线一区二区三区| 欧美日韩精品在线| 亚洲愉拍自拍欧美精品| 国产精品一级毛片无码视频| 国产精品亚洲w码日韩中文| 国产精品偷窥熟女精品视频 | 亚洲欧洲精品成人久久奇米网|