filter
filter函数可以看成是一个过滤函数,返回符合条件的元素的数组
filter需要在循环的时候判断一下是true还是false,是true才会返回这个元素;
- filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身:
var arr = ['A', 'B', 'C'];
var r = arr.filter(function (element, index, self) {console.log(element); // 依次打印'A', 'B', 'C'console.log(index); // 依次打印0, 1, 2console.log(self); // self就是变量arrreturn true;
});
复制代码
- 筛选数组对象
//单个条件筛选
let arr = [{a:'苹果',b:'桃子',c:'吃'},{a:'香蕉',b:'面包',c:'不吃'},{a:'香蕉',b:'苹果',c:'吃'},{a:'苹果',b:'菠萝',c:'不吃'},]
console.log(arr.filter(item => item.a=== '苹果' ))//[{a:'苹果',b:'桃子',c:'吃'},{a:'苹果',b:'菠萝',c:'不吃'}]
复制代码
- 去掉数组中不符合项
var arr = [20,30,50, 96,50]
var newArr = arr.filter(item => item>40)
console.log(newArr) //[50,96,50]
复制代码
- 过滤不符合项
var arr = ['10','12','23','44','42']
var newArr = arr.filter(item => item.indexOf('2')<0)
console.log(newArr) //["10", "44"]
复制代码