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筛选数组的主要内容,如果未能解决你的问题,请参考以下文章

excel filter函数中 筛选条件如何调节成数组?

ES6 Map遍历filter()筛选对象

js简洁代码片段

JavaScript 数组方法filter和reduce

js 筛选删除数组中符合条件的所有元素

js--数组方法