📜  filter() 函数的工作原理 javascript (1)

📅  最后修改于: 2023-12-03 15:30:45.767000             🧑  作者: Mango

Filter() 函数的工作原理 Javascript

在 JavaScript 中,filter() 函数是一种用于过滤数组中元素的方法。它基于给定的条件来“过滤”数组,并返回一个新的数组,该数组只包含符合条件的元素。在本文中,我们将深入了解该函数的工作原理,并给出一些使用它的示例。

语法

filter() 函数的语法如下:

array.filter(callback[, thisArg])

其中:

  • array:要过滤的数组。
  • callback:每个元素都会调用此函数。它返回 true 表示“接受”该元素(将其包含在新数组中),false 表示“拒绝”该元素(将其排除在新数组之外)。它可以接受三个参数:
    • element:正在处理的当前元素。
    • index:正在处理的当前元素的索引。
    • array:正在使用的数组。
  • thisArg(可选):在 callback 函数中使用的 this 值。
示例
过滤奇数
const numbers = [1, 2, 3, 4, 5];
const oddNumbers = numbers.filter((number) => number % 2 !== 0);
console.log(oddNumbers); // [1, 3, 5]

在此示例中,我们使用 filter() 函数过滤了一个数组中的奇数。我们传递一个 lambda 函数作为回调,该函数返回 true/false,表示该元素是否应该包含在新数组中。在此示例中,我们只包含那些不能被 2 整除的元素。

过滤出包含指定字符串的元素
const fruits = ['apple', 'banana', 'orange', 'cherry'];
const filteredFruits = fruits.filter((fruit) =>
  fruit.toLowerCase().includes('an')
);
console.log(filteredFruits); // ['banana', 'orange']

在此示例中,我们使用 filter() 函数来过滤一个包含水果名称的数组。我们传递了一个 lambda 函数,该函数使用 toLowerCase() 方法将所有名称转换为小写,并使用 includes() 方法检查名称中是否包含 "an"。只有那些名称中包含 "an" 的水果才被包含在新数组中。

结论

JavaScript 中的 filter() 函数是一种灵活而强大的方法,用于过滤数组中的元素。它可以基于条件包含或排除元素,并返回新的、过滤后的数组。使用 filter() 函数,您可以更轻松地处理数组,从而简化代码并提高性能。