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]
JS数组方法map与filter
本文介绍了JavaScript中数组的两种常用方法:map和filter。map方法遍历数组并可以修改每个元素,即使未提供返回值也会在新数组中保留位置。而filter方法则用于筛选数组,仅保留符合条件的元素。
2232

被折叠的 条评论
为什么被折叠?



