arr.filter()函数用于从给定数组创建新数组,该数组仅由给定数组中满足参数函数设置条件的那些元素组成。给定函数的语法如下:
var newArray = arr.filter(arg_function[, this_arg])
这里arr是原始给定的数组。
参数
该函数的参数是另一个函数,该函数定义要检查数组每个元素的条件。此arg_function本身接受三个参数:
- array
- index
- element
这是在其上调用.filter()函数的数组。
这是函数正在处理的当前元素的索引。
这是函数正在处理的当前元素。
另一个参数this_arg用于告诉函数在执行参数函数时使用此值。
返回值
此函数返回一个仅由满足arg_function条件的元素组成的新数组。
上述函数的示例如下:
范例1:
function isPositive(value) { return value > 0; } var filtered = [112, 52, 0, -1, 944].filter(isPositive); print(filtered);
输出:
[112,52,944]
在此示例中,函数filter()创建一个新数组,该数组仅由满足isPositive()函数检查的条件的那些元素组成。
范例2:
function isEven(value) { return value % 2 == 0; } var filtered = [11, 98, 31, 23, 944].filter(isEven); print(filtered);
输出:
[98,944]
在此示例中,函数filter()创建一个新数组,该数组仅由满足isPositive()函数检查的条件的那些元素组成。
以上函数的代码如下:
程序1:
<script>
// JavaScript to illustrate findIndex() function
function isPositive(value) {
return value > 0;
}
function func() {
var filtered = [112, 52, 0, -1, 944].filter(isPositive);
document.write(filtered);
}
func();
</script>
输出:
[112,52,944]
程序2:
<script>
// JavaScript to illustrate findIndex() function
function isEven(value) {
return value%2 == 0;
}
function func() {
var filtered = [11, 98, 31, 23, 944].filter(isEven);
document.write(filtered);
}
func();
</script>
输出:
[98,944]
相关用法
- Javascript typedArray.filter()用法及代码示例
- Javascript Array.slice()和Array.splice()的区别用法及代码示例
- Javascript array.size()和array.length的区别用法及代码示例
- Javascript Array pop()用法及代码示例
- underscore.js _.filter()用法及代码示例
- JQuery filter()用法及代码示例
注:本文由纯净天空筛选整理自HGaur大神的英文原创作品 JavaScript | Array filter()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。