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

        • 關(guān)于JavaScript獲取時(shí)間函數(shù)及實(shí)現(xiàn)倒計(jì)時(shí)

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

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

          上一篇博客講到了數(shù)組的方法,當(dāng)然里邊比較復(fù)雜的就是數(shù)組的迭代方法,因?yàn)樯婕暗搅嘶卣{(diào)函數(shù),所以這篇博客我們來(lái)詳細(xì)講解一下js數(shù)組迭代方法的使用。


          1.forEach(funcrion(value,index,arr){}):對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),這個(gè)方法不進(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:每一個(gè)數(shù)組項(xiàng)的值 必填項(xiàng)

              // index:每一個(gè)數(shù)組項(xiàng)對(duì)應(yīng)的索引

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


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

          2.map(funcrion(value,index,arr){}):對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(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:每一個(gè)數(shù)組項(xiàng)的值 必填項(xiàng)

              // index:每一個(gè)數(shù)組項(xiàng)對(duì)應(yīng)的索引

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

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

          3.every(funcrion(value,index,arr){}):對(duì)數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),進(jìn)項(xiàng)判斷,若對(duì)于每項(xiàng)執(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:每一個(gè)數(shù)組項(xiàng)的值 必填項(xiàng)

              // index:每一個(gè)數(shù)組項(xiàng)對(duì)應(yīng)的索引

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



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

          4.some(funcrion(value,index,arr){}):對(duì)數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),進(jìn)行判斷,若存在一項(xiàng)符合條件的數(shù)組項(xiàng),則其結(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:每一個(gè)數(shù)組項(xiàng)的值 必填項(xiàng)

              // index:每一個(gè)數(shù)組項(xiàng)對(duì)應(yīng)的索引

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


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

          5.fliter(funcrion(value,index,arr){}):對(duì)數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),進(jìn)行過(guò)濾,將符合條件的數(shù)組項(xiàng)添加到新的數(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()方法對(duì)數(shù)組項(xiàng)進(jìn)行過(guò)濾,然后將符合條件的數(shù)組項(xiàng)添加到一個(gè)新的數(shù)組并返回,但是如果直接打印這個(gè)判斷條件,相當(dāng)于打印的判斷條件的結(jié)果,只會(huì)返回true或者false。

          6.ES6中新增的迭代方法

          1.find():返回第一個(gè)符合傳入測(cè)試(函數(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():返回符合傳入測(cè)試(函數(shù))條件的數(shù)組元素索引。


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


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

          總結(jié):

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


          日歷

          鏈接

          個(gè)人資料

          存檔

          97香蕉久久夜色精品国产| 模特私拍国产精品久久| 伊人色综合久久天天人手人婷| 亚洲精品无码久久久久久| 国产亚洲精品美女久久久| 亚洲嫩草影院久久精品| 久久久久亚洲av成人网人人软件 | 无码伊人66久久大杳蕉网站谷歌| 亚洲欧美成人综合久久久| 亚洲国产精品久久久久久| 久久精品综合网| 91精品国产91久久久久久| 久久精品人妻中文系列| 88久久精品无码一区二区毛片 | 精品久久久久久无码中文野结衣 | 久久99国产精品99久久| 久久强奷乱码老熟女网站| 色欲久久久天天天综合网精品| 国产高清美女一级a毛片久久w | 97久久精品无码一区二区天美| 国産精品久久久久久久| 日韩精品久久久久久久电影蜜臀| 国产免费久久久久久无码| 看久久久久久a级毛片| 久久久午夜精品福利内容| AA级片免费看视频久久| 色综合久久久久网| 国内精品九九久久久精品| 亚洲国产精品无码久久久蜜芽 | 久久精品国产秦先生| 久久WWW免费人成一看片| 久久精品无码一区二区日韩AV| 国产V亚洲V天堂无码久久久| 无码超乳爆乳中文字幕久久 | 精品国产日韩久久亚洲| 亚洲欧美精品一区久久中文字幕| 国产999精品久久久久久| 88久久精品无码一区二区毛片| 亚洲国产成人久久综合碰碰动漫3d | 色欲久久久天天天综合网 | 久久久av波多野一区二区|