console clas 回调函数 style ams 元素 函数 接收
和 map() 类似,array 的 filter 也接收一个函数
和 map() 不同的是,filter 把传入的函数依次作用于每个函数,然后根据返回 TRUE 还是 FALSE 来做决定保留还是舍弃该元素
例如,删除一个数组中的偶数
var arr=[1,2,4,5,6,7,9,11,13,15,16];
var r=arr.filter(function(x){
return x % 2!==0
})
r;//[1,5,7,9,11,13,15]
把一个 array 中的空格去掉
var arr=['a','','b',null,'c',undefinde,' '];
var r=arr.filter(function(x){
return s&&s.trim()
})
r;//['a','b','c']
可见 filter 这个高阶函数,在于正确实现一个 "筛选" 函数
回调函数
filter 接收的回调函数,可以有多个函数
- var arr = ['A','B','C'];var r = arr.filter(function(element, index, self) {
- console.log(element);// 依次打印'A', 'B', 'C'
- console.log(index);// 依次打印0, 1, 2
- console.log(self);// self就是变量arrreturntrue;
- });
filter 筛选数组
来源: http://www.bubuko.com/infodetail-2078923.html