filter函数语法

发布于 2025-02-05  663 次阅读


filter 函数是 JavaScript 数组的一个方法,它用于创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。换句话说,filter 方法会遍历数组中的每一个元素,并对每个元素执行提供的回调函数。如果回调函数对某个元素返回 true,则该元素会被包含在新数组中。如果回调函数返回 false,则该元素不会被包含在新数组中。

以下是 filter 方法的语法:

const newArray = arr.filter(function callback(currentValue[, index[, array]]) {
    // 你的条件逻辑
    // 返回 true 或 false
}[, thisArg]);
  • arr:需要被筛选的数组。
  • callback:为数组中每个元素执行的函数,该函数接收一至三个参数:
    • currentValue:数组中当前被处理的元素。
    • index(可选):当前元素的索引。
    • array(可选):调用 filter 方法的数组本身。
  • thisArg(可选):执行回调函数时 this 关键字指向的对象。
  • newArray:返回一个新数组,包含通过测试的所有元素。

示例代码

以下是一个使用 filter 方法从数组中筛选出所有偶数元素的示例:

const numbers = [1, 2, 3, 4, 5, 6];

const evenNumbers = numbers.filter(function(number) {
    return number % 2 === 0;
});

console.log(evenNumbers); // 输出: [2, 4, 6]

在这个例子中,filter 方法遍历 numbers 数组,并对每个元素执行回调函数。回调函数检查当前元素是否是偶数(即是否能被 2 整除),如果是,则返回 true,否则返回 falsefilter 方法根据回调函数的返回值创建一个新数组 evenNumbers,其中包含所有偶数元素。

你也可以使用箭头函数来简化代码:

const evenNumbers = numbers.filter(number => number % 2 === 0);

这个箭头函数版本与之前的函数版本功能完全相同,但更加简洁。

下次见面会是什么时候呢?
最后更新于 2025-02-05