处理数组有两个很好用的方法,那就是map跟filter,以前我们可能需要通过for循环来遍历数组,有了map跟filter方法后就不用啦~
filter()
创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
注:filter() 不会对空数组进行检测、不会改变原始数组
array.filter(function(currentValue,index,arr), thisValue)
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值var a=[1,2,3,4,5,6,7,8,9];
var b=a.filter(function(item){return item>3;})
console.log(b); //[4,5,6,7,8,9]map()
返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
注意: map() 不会对空数组进行检测, map() 不会改变原始数组。
array.map(function(currentValue,index,arr), thisValue)var a=[1,2,3,4,5,6,7,8,9];
var b=a.map(function(item){return item%3;})
console.log(b); //1,2,0,1,2,0,1,2,0总结
filter适合从数据中筛选需要的内容
map适合获取对原数组的数据进行修改后获得与原数组长度相同的数组
优点: 不会改变原始数组
注:两个方法都要ie9及以上才支持