JS數組的方法有不少,下面就來講一下數組迭代的六個方法:分別是forEach、map、filter、some、every,reduce;這些方法都結束兩個參數:第一個參數:回調函數。回調函數裏面有三個參數,item:數組的項,index:數組項的索引,all:當前要遍歷的一整個數組(這三個參數可選),第二個參數:修改方法執行時的this指向,第二個參數可選;數組
數組循環,參數是一個回調函數;forEach方法不返回值,只是循環數組,跟for循環同樣;forEach性能沒有for高,可是它自己用起來很方便;bash
let ary=[1,2,3,4,5,6];
ary.forEach((item,index,all)=>{
//一些操做
})
複製代碼
map方法參數也是一個回調函數,遍歷數組每一項,通過回調函數中的語句操做後返回一個新數組,新數組長度和原數組同樣;函數
let ary = [1,2,3,4];
ary.map(item=>item*2)//[2,3,6,8]
複製代碼
數組過濾,參數是一個回調函數,返回一個符合回調函數條件的新數組性能
let ary = [1,2,3,4,5];
ary.filter(item=>item>2);//[3,4,5]
複製代碼
遍歷數組每一項,只要有一項知足回調函數要求就返回true,不然就返回falseui
let ary = [1,2,3,4];
let result = ary.some(item=>item>4);//true;
複製代碼
遍歷數組每一項,只要有一項不知足回調函數要求就返回false,所有知足才返回truethis
let ary = [2,4,6,8];
let result = ary.every(item=>item%2);//true;
複製代碼
給一個初始值(可選),遍歷數組,並累積每一項,最後返回一個結果spa
let ary = [1,2,3,4]
let result = ary.reduce((next,prev)=>{
return next+prev;
});//10
複製代碼