map 方法可以方便的迭代數(shù)組
map 方法會(huì)迭代數(shù)組中的每一個(gè)元素,并根據(jù)回調(diào)函數(shù)來(lái)處理每一個(gè)元素,最后返回一個(gè)新數(shù)組。注意,這個(gè)方法不會(huì)改變?cè)紨?shù)組。
具體實(shí)現(xiàn):
var oldArray = [1,2,3,4,5];
var newArray = oldArray.map(function(val){
return val+3;
});
結(jié)果:[4,5,6,7,8]
使用 reduce 方法時(shí),你要傳入一個(gè)回調(diào)函數(shù),這個(gè)回調(diào)函數(shù)的參數(shù)是一個(gè) 累加器 (比如例子中的 previousVal) 和當(dāng)前值 (currentVal)。
具體實(shí)現(xiàn):
var array = [4,5,6,7,8];
var singleVal = 0;
var singleVal = array.reduce(function(previousVal, currentVal) {
return previousVal + currentVal;
}, 0);
filter方法用來(lái)迭代一個(gè)數(shù)組,并且按給出的條件過濾出符合的元素。
filter 方法傳入一個(gè)回調(diào)函數(shù),這個(gè)回調(diào)函數(shù)會(huì)攜帶一個(gè)參數(shù),參數(shù)為當(dāng)前迭代的項(xiàng)(我們叫它 val )。
回調(diào)函數(shù)返回 true 的項(xiàng)會(huì)保留在數(shù)組中,返回 false 的項(xiàng)會(huì)被過濾出數(shù)組。
具體實(shí)現(xiàn)
var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter(function(val){
return val < 6;
});