📜  JavaScript 数组 filter() 方法

📅  最后修改于: 2022-05-13 01:56:31.701000             🧑  作者: Mango

JavaScript 数组 filter() 方法

下面是Array filter()方法的示例。

  • 例子:
JavaScript


JavaScript


JavaScript


  • 输出:
[24,33,40]

arr.filter()方法用于从给定数组创建一个新数组,该数组仅由给定数组中满足参数方法设置的条件的元素组成。
句法:

array.filter(callback(element, index, arr), thisValue)

参数:此方法接受上述五个参数,如下所述:

  • callback:此参数保存要为数组的每个元素调用的函数。
  • element:参数保存当前正在处理的元素的值。
  • index:该参数是可选的,它保存从0开始的数组中currentValue元素的索引。
  • arr:此参数是可选的,它保存了调用 Array.every 的完整数组。
  • thisValue:此参数是可选的,它保存要作为 this 传递的上下文,以便在执行回调函数时使用。如果传递了上下文,它将在每次调用回调函数时都这样使用,否则使用 undefined 作为默认值。

返回值:此方法返回一个新数组,该数组仅由满足arg_function条件的元素组成。
下面的示例说明了 JavaScript 中的arr.filter()方法:

  • 示例 1:在此示例中,方法filter()创建了一个新数组,该数组仅由满足isPositive()函数检查的条件的元素组成。
function isPositive(value) {
  return value > 0;
}

var filtered = [112, 52, 0, -1, 944].filter(isPositive);
print(filtered);


  • 输出:
[112,52,944]


  • 示例 2:在此示例中,方法filter()创建了一个新数组,该数组仅由满足isPositive()函数检查的条件的元素组成。
function isEven(value) {
  return value % 2 == 0;
}

var filtered = [11, 98, 31, 23, 944].filter(isEven);
print(filtered);


  • 输出:
[98,944]


上述方法的代码定义如下:
方案一:

JavaScript


输出:

[112,52,944]

方案二:

JavaScript


输出:

[98,944]

支持的浏览器: JavaScript Array filter()方法支持的浏览器如下:

  • 谷歌浏览器
  • 微软边缘 9.0
  • 火狐浏览器 1.5
  • 苹果浏览器
  • 歌剧