JS【filter过滤器】的用法
在JavaScript中,filter()
是一个高阶函数,它是数组(Array)的一部分,可用于创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
filter()
函数的语法如下:
let newArray = arr.filter(callback(element[, index, [array]])[, thisArg])
参数解释:
callback
:一个函数,用来测试每个元素是否满足某种条件。它接受以下参数:element
:数组中正在处理的当前元素。index
(可选):数组中正在处理的当前元素的索引。array
(可选):filter
被调用的数组。
thisArg
(可选):执行 callback 函数时使用的 this 值。
filter()
函数会为数组中的每个元素执行一次 callback 函数,并且创建一个新数组,所有使 callback 返回 true 的元素都会被添加到这个新数组中。原始数组不会被改变。
以下是一个简单的例子,过滤出一个数组中所有的偶数:
let numbers = [1, 2, 3, 4, 5, 6];
let evens = numbers.filter(function(item) {
return item % 2 === 0;
});
console.log(evens); // [2, 4, 6]
//或者
const evens = numbers .filter(e=> e%2 === 0)
在这个例子中,我们将数组 numbers
中的每个元素传递给 filter()
方法。filter()
方法执行的函数检查每个数是否为偶数。如果是,它返回 true
,这个数就被添加到 evens
数组中。如果返回 false
,则不会被添加。最终,我们将得到一个包含原始数组中所有偶数的新数组。