filter函数是一种常用的数组操作方法,它可以根据指定的规则,对数组中的每一项进行过滤,从而获取新的数组。它的语法如下:
array.filter(callback[, thisArg])
其中,callback是一个函数,它会对数组中的每一项进行检查,返回true则表示保留该项,返回false则表示过滤掉该项;thisArg则是可选参数,表示callback函数中this的指向。
下面,我们来看一个简单的例子,它将过滤掉数组中小于10的所有项:
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; // 过滤函数 function filterFn(item) { return item >= 10; } var result = arr.filter(filterFn); // 输出 [10, 11, 12, 13, 14, 15] console.log(result);
这里,我们定义了一个数组arr,里面包含15个整数,定义了一个过滤函数filterFn,它会返回大于等于10的整数,我们调用filter函数,将arr中的每一项传入filterFn,过滤出大于等于10的所有项,得到新的数组。
除了上面这种按照指定的规则过滤的方式,我们还可以使用filter函数来过滤掉数组中的重复项,例如:
var arr = [1,2,3,4,5,3,2,1]; // 过滤函数 function filterFn(item, index, arr) { return arr.indexOf(item) === index; } var result = arr.filter(filterFn); // 输出 [1, 2, 3, 4, 5] console.log(result);
这里,我们定义了一个数组arr,它里面包含了重复的数字,定义了一个过滤函数filterFn,它会检查每一项在数组中的索引是否和它本身相等,如果相等则表示该项是第一次出现,我们调用filter函数,将arr中的每一项传入filterFn,过滤掉重复的项,得到新的数组。
filter函数是一种非常有用的数组操作方法,它可以根据指定的规则,对数组中的每一项进行过滤,从而获取新的数组,是一种非常方便的操作方式。