filter()函数是JavaScript中的一个高阶函数,它接收一个函数作为参数,并对数组的每个元素进行测试,返回所有符合条件的元素组成的新数组。
var arr = [1,2,3,4,5]; var result = arr.filter(function(item){ return item > 3; }); console.log(result); // [4,5]
filter()函数有两个参数,第一个参数是一个函数,第二个参数是可选参数,用于设置函数中this的值。
第一个参数是一个函数,该函数有三个参数,分别是当前元素、当前元素的索引和原数组。函数的返回值必须是一个布尔值,如果返回true,则当前元素会被添加到新数组中。
var arr = [1,2,3,4,5]; var result = arr.filter(function(item,index,array){ return item > 3; }); console.log(result); // [4,5]
第二个参数是可选参数,用于设置函数中this的值,如果不设置,则默认为window。
var arr = [1,2,3,4,5]; var result = arr.filter(function(item,index,array){ return item > 3; },this); console.log(result); // [4,5]
filter()函数可以用来过滤数组中的元素,只返回满足条件的元素组成的新数组。
- 例如,可以用来过滤出数组中满足条件的元素:
var arr = [1,2,3,4,5]; var result = arr.filter(function(item){ return item > 3; }); console.log(result); // [4,5]
var arr = [ {name:'Tom', age:18}, {name:'Jerry', age:20}, {name:'Jack', age:22} ]; var result = arr.filter(function(item){ return item.age > 20; }); console.log(result); // [{name:'Jack', age:22}]