<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 關于JavaScript獲取時間函數及實現倒計時

          2020-5-24    前端達人

          JavaScript數組對象的迭代方法詳解

          上一篇博客講到了數組的方法,當然里邊比較復雜的就是數組的迭代方法,因為涉及到了回調函數,所以這篇博客我們來詳細講解一下js數組迭代方法的使用。


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

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

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

                  console.log(val,index,arr);

              })

              // 其中:

              // value:每一個數組項的值 必填項

              // index:每一個數組項對應的索引

              // arr:當前的數組


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

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

           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:每一個數組項的值 必填項

              // index:每一個數組項對應的索引

              // arr:當前的數組

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

          3.every(funcrion(value,index,arr){}):對數組的每一項都運行給定函數,進項判斷,若對于每項執行函數都返回了true,則其結果為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:每一個數組項的值 必填項

              // index:每一個數組項對應的索引

              // arr:當前的數組



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

          4.some(funcrion(value,index,arr){}):對數組的每一項都運行給定函數,進行判斷,若存在一項符合條件的數組項,則其結果為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:每一個數組項的值 必填項

              // index:每一個數組項對應的索引

              // arr:當前的數組


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

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

             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()方法對數組項進行過濾,然后將符合條件的數組項添加到一個新的數組并返回,但是如果直接打印這個判斷條件,相當于打印的判斷條件的結果,只會返回true或者false。

          6.ES6中新增的迭代方法

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


            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():返回符合傳入測試(函數)條件的數組元素索引。


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


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

          總結:

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


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          久久精品亚洲一区二区三区浴池| 天天综合久久久网| 狠狠色婷婷久久一区二区三区| AV无码久久久久不卡蜜桃| 久久99精品国产麻豆不卡| 色欲综合久久中文字幕网| 久久av免费天堂小草播放| 国产毛片欧美毛片久久久| 国产三级精品久久| 久久亚洲精品无码AV红樱桃| 久久久久国产精品麻豆AR影院 | 久久国产精品国语对白| 2021国产精品午夜久久| 66精品综合久久久久久久| 亚洲午夜久久久久久久久久| 久久精品国产只有精品66 | 国产亚洲精久久久久久无码 | 亚洲va久久久噜噜噜久久男同 | 久久久久久国产精品美女| 久久99精品久久久久久秒播| 国产精品一久久香蕉国产线看 | 色欲久久久天天天综合网 | 久久香蕉国产线看观看乱码| 久久精品国产亚洲AV无码麻豆 | 99久久精品免费看国产一区二区三区| 亚洲国产日韩综合久久精品| 久久国产高清字幕中文| 久久精品99久久香蕉国产色戒 | 久久99久久99小草精品免视看| 色妞色综合久久夜夜| 99久久夜色精品国产网站| 97精品国产97久久久久久免费| 久久精品中文字幕一区| 亚洲中文字幕久久精品无码喷水| 伊人久久大香线蕉综合热线| 久久久久亚洲AV成人网人人网站| 久久久久久A亚洲欧洲AV冫| 久久精品国产精品亜洲毛片 | 99久久精品免费看国产一区二区三区| 久久综合九色综合网站| 久久综合精品国产二区无码|