迭代之?dāng)?shù)組終結(jié)者

哈嘍,小伙伴們我來(lái)了,還記得上次我給大家介紹數(shù)組的一系列方法嗎?今天這是數(shù)組最后的boss-----迭代方法;

迭代方法呢,它包含了五個(gè)小方法加一個(gè)歸并方法;

1,每個(gè)方法都接受兩個(gè)參數(shù)
2,每個(gè)方法都要運(yùn)行在函數(shù)上
3,運(yùn)行的函數(shù)會(huì)接受三個(gè)參數(shù)()

一,every方法:
對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定的函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true。
舉個(gè)例子哈:

var num=[1,4,3,5,7,8,2,4];
var everynum=num.every(function(item,index,array){//第一個(gè)值代表每一項(xiàng),第二個(gè)代表下標(biāo),第三個(gè)代表原數(shù)組;
    
return (item>2)//return后面必須加條件,如果數(shù)組里面都成立的話,返回true,否則返回false;
})
console.log(everynum)//false;

二,some()
對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回true,則返回true。

var num = [1,2,3,4,5,4,3,2,1];
    var somenum = num.some(function(item,index,array){
        return (item > 2);//數(shù)組中只要有一項(xiàng)符合條件;
    })
  console.log(somenum)//就返回true

小結(jié):相同點(diǎn):
1,some和every都返回一個(gè)布爾值;
2,三個(gè)參數(shù)分別是item,index,arr(數(shù)組具體項(xiàng),位置,數(shù)字本身);
3,不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè);
4,不會(huì)改變?cè)紨?shù)組;
5,都會(huì)遍歷數(shù)組

不同點(diǎn):
1、every()方法,遍歷數(shù)組每一項(xiàng),若全部為true,則返回true;
2、some()方法,遍歷數(shù)組的每一項(xiàng),若其中一項(xiàng)為 true,則返回true;

三,filter方法,
1,說(shuō)明: ①它主要用于篩選;
②篩選出符合條件的數(shù)組;
③他會(huì)返回一個(gè)新的數(shù)組

  var num = [1,2,3,4,5,4,3,2,1];
    var filnum = num.filter(function(item,index,array){
        return (item > 2);//數(shù)組中找符合條件的所有數(shù);
    })
    console.log(filnum)//[3,4,5,4,3]

四,map方法,

說(shuō)明:對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。

例子如下:

    var num = [1,2,3,4,5,4,3,2,1];
    var mapnum = num.map(function(item,index,array){
        return item*2;//給原數(shù)組賦予條件;
    })
    console.log(mapnum);  //[2,4,6,8,10,8,6,4,2]//返回新數(shù)組;

五,foreach方法,
對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù)。它沒有返回值。

    例:
    var numbers = [1,2,3,4,5,4,3,2,1];
    var num=numbers.forEach(function(item,index,array){
        console.log(num); //沒有
    })

forEach和map的區(qū)別在于,forEach沒有返回值,map有。

六,歸并方法,

①reduce() 是從數(shù)組的第一項(xiàng)開始,逐個(gè)遍歷到最后。
②reduceRight() 是從數(shù)組的最后一項(xiàng)開始,逐個(gè)遍歷到最前。
這兩個(gè)方法都會(huì)迭代數(shù)組的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值。
傳給這兩個(gè)方法的函數(shù)接收4個(gè)參數(shù):
1)前一個(gè)值
2)當(dāng)前值
3)下標(biāo)
4)原數(shù)組

如:

 var sum = [1,2,3,4,5];
    var sum1 = values.reduce(function(prev,cur,index,array){
        return prev + cur;  //1 + 2 = 3 + 3 = 6 + 4 =10 + 5 = 15
    });//前一個(gè)值加當(dāng)前值
    console.log(sum1); //15

 var sum = [1,2,3,4,5];
    var sum1 = values.reduceright(function(prev,cur,index,array){
        return prev + cur;  //1 + 2 = 3 + 3 = 6 + 4 =10 + 5 = 15
    });
    console.log(sum1); //15

正在努力加載中。。。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容