1. 程式人生 > >陣列遍歷的map和filter

陣列遍歷的map和filter

map 和 filter都可以遍歷陣列:

array.map(fucntion(item, index) {})

array.filter(function(item, index) {})

map 和filter都可以有返回值,並且最後函式都會返回一個新的陣列。

不同在於map返回的新陣列長度不會改變的,又返回值的就給當前的item賦值為返回值,沒有返回的會給undefine。

而filter會過濾掉沒返回值得item,返回一個在回撥函式裡面返回了的所有item組成的新陣列。

map:

var data = [1,2,3,4,5,6,7,8]
var newData = data.map(function
(item, index) { if(item % 2) { console.log(item); return item } }); console.log(newData) //[1, undefine, 3, undefine, 5, undefine, 7, undefine]

filter:

var filterData = data.filter(function(item, index) {
    if(item % 2) {
        return item
}
});
console.log(filterData) //[1, 3, 5, 7]