filter筛选数组
Posted it大虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了filter筛选数组相关的知识,希望对你有一定的参考价值。
和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就是变量arr
return true;
});
以上是关于filter筛选数组的主要内容,如果未能解决你的问题,请参考以下文章