天天看點

map filter reduce find findIndex forEach 數組方法的差別

1、 map:傳回一個新數組數組中的元素為原始數組元素調用函數處理後的值

array.map((參數)=>{
	//函數體
})
           

适合對一個數組中的每個元素進行相同的操作

2、filter:是一個過濾函數,傳回符合條件的元素的數組(filter需要在循環的時候判斷一下是true還是false,是true才會傳回這個元素)

array.filter((參數) => {
	//函數體    
})
           

filter函數适合篩選一個數組中滿足條件的元素,注意:filter函數隻是篩選功能,不能改變元素、操作元素

3、reduce:所有數組進行累加,最後傳回一個值,不改變原數組

array.reduce((previous, current, index, array) =>{    
 	//函數體   
})
           

reduce函數有四個參數:前一步操作計算後得值,目前值,索引值,數組本身。

4、find:查找到第一個符合條件的元素,立即傳回目前數組元素,不再循環,如果沒有符合條件的成員,則傳回undefined

array.find((參數)=>{
		//函數體
})
           

5、findIndex:查找到第一個符合條件的元素,立刻傳回目前數組元素下标,不再循環,如果所有成員都不符合條件,則傳回-1

array.findIndex((參數)=>{
		//函數體
})
           

6、forEach:隻是簡單的将數組周遊,不會改變原數組,forEach的傳回永遠是undefind

array.forEach( (參數)=> {
   //函數體
})