一、數(shù)組的迭代方法,
每一個迭代方法的參數(shù)都是一個函數(shù),該函數(shù)有三個參數(shù):數(shù)組項(xiàng)的值,該項(xiàng)在數(shù)組中的位置,數(shù)組對象本身,其中后兩個參數(shù)可以省略
給定一個數(shù)組 nums[1,2,3,4,5,4,3,2,1]
1.every(): 參數(shù)為一個函數(shù),對數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),如果該函數(shù)對每一項(xiàng)都返回 true,則 every() 函數(shù)返回 true
示例一、

這里age大于2
結(jié)果:

示例二、

這里把a(bǔ)ge改為大于0
結(jié)果:

2.some() 方法,參數(shù)為一個函數(shù),對數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),如果其中有一項(xiàng)滿足參數(shù)函數(shù)返回 true,則some()方法總體返回 true (只要有一項(xiàng)滿足參數(shù)函數(shù)要求即可)
示例:

結(jié)果:

3.forEach(),?參數(shù)為一個函數(shù),對數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),這個方法沒有返回值;本質(zhì)上類似于用 for 循環(huán)遍歷數(shù)組,然后執(zhí)行想要的操作

4.map(),參數(shù)為一個函數(shù),對數(shù)組的每一項(xiàng)都運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
示例:

結(jié)果:

注意:map()方法和 forEach()方法都是對數(shù)組的每一項(xiàng)執(zhí)行想要的操作,但是 forEach() 方法沒有返回值,map() 方法會返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
5.filter(), 參數(shù)為一個函數(shù),對數(shù)組每一個元素運(yùn)行該函數(shù);返回該函數(shù)返回為 ture 的元素組成的新數(shù)組;因此這個方法類似于一個過濾器,最后得到過濾后的數(shù)組
示例

結(jié)果:

二、數(shù)組的歸并方法 reduce() 和 reduceRight()
這兩個方法都會迭代數(shù)組所有項(xiàng),然后構(gòu)建一個最終返回的值,,他們的參數(shù)都是一個 函數(shù) 和 作為歸并基礎(chǔ)的初始值(可選);其中函數(shù)又有四個參數(shù):前一個值,當(dāng)前值,項(xiàng)的索引,數(shù)組對象;這個函數(shù)返回的任何值都會作為第一個參數(shù)傳遞給下一項(xiàng)
1.reduce(),從數(shù)組第一項(xiàng)開始,逐個往后遍歷;第一次迭代發(fā)生在數(shù)組的第二項(xiàng)上
示例:求出數(shù)組所有項(xiàng)之和

第一次執(zhí)行函數(shù)時 prev是1,cur是2;第二次執(zhí)行時 prev是3(第一次的結(jié)果),cur是3(數(shù)組第三項(xiàng))
結(jié)果:

2.reduceRight(), 與reduce()類似,不過方向相反

結(jié)果:
