陣列遍歷的map和filter
阿新 • • 發佈:2019-01-30
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]