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
- 苹果浏览器
- 歌剧