JavaScript中的filter()函数是一个高阶函数,它接受一个函数作为参数,该函数的参数为一个数组,返回一个新数组,新数组是原数组中每一项经过函数处理后的结果。
filter()函数的语法
array.filter(function(currentValue, index, arr), thisValue)
其中:
- array:必填项,要处理的数组
- function:必填项,函数,用于处理数组中的每一项
- currentValue:可选项,当前处理的数组项
- index:可选项,当前处理的数组项的索引
- arr:可选项,当前处理的数组
- thisValue:可选项,函数中的this指向
filter()函数的使用方法
filter()函数的使用方法如下:
- 1.按照一定条件过滤数组
var arr = [1,2,3,4,5,6,7,8,9];
var newArr = arr.filter(function(value, index, arr){
return value > 5;
});
// newArr = [6,7,8,9];
var arr = [1,2,3,4,5,6,7,8,9,1,2,3];
var newArr = arr.filter(function(value, index, arr){
return arr.indexOf(value) === index;
});
// newArr = [1,2,3,4,5,6,7,8,9];
var arr = [
{name:'张三', age:18},
{name:'李四', age:20},
{name:'王五', age:22},
{name:'赵六', age:24}
];
var newArr = arr.filter(function(value, index, arr){
return value.age > 20;
});
// newArr = [
// {name:'王五', age:22},
// {name:'赵六', age:24}
// ];
以上就是,可以看出,filter()函数可以方便快捷地处理数组,提高开发效率。