filter函数是JavaScript中常用的一个函数,它的作用是对一个数组中的每一个元素进行指定的操作,返回符合指定条件的元素的新数组。它的用法如下:
var arr = [1,2,3,4,5];
// 过滤出偶数
var result = arr.filter(function(item){
return item % 2 === 0;
});
console.log(result); // [2,4]
filter函数的应用场景非常多,比如可以用它来过滤数组中的重复元素:
var arr = [1,1,2,3,4,4,5];
// 过滤出不重复的元素
var result = arr.filter(function(item, index, arr){
return arr.indexOf(item) === index;
});
console.log(result); // [1,2,3,4,5]
filter函数也可以用来过滤掉数组中不符合条件的元素:
var arr = [
{name: 'Tom', age: 18},
{name: 'Jack', age: 20},
{name: 'John', age: 22},
{name: 'Lucy', age: 16}
];
// 过滤出年龄大于18岁的元素
var result = arr.filter(function(item){
return item.age > 18;
});
console.log(result);
/*
[
{name: 'Jack', age: 20},
{name: 'John', age: 22}
]
*/
filter函数还可以用来查找符合条件的对象:
var arr = [
{name: 'Tom', age: 18},
{name: 'Jack', age: 20},
{name: 'John', age: 22},
{name: 'Lucy', age: 16}
];
// 查找name为Jack的对象
var result = arr.filter(function(item){
return item.name === 'Jack';
});
console.log(result); // [{name: 'Jack', age: 20}]
filter函数的应用场景非常多,可以用来过滤数组中的重复元素、不符合条件的元素以及查找符合条件的对象等等,是一个非常有用的函数。