当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Array filter()用法及代码示例


arr.filter()函数用于从给定数组创建新数组,该数组仅由给定数组中满足参数函数设置条件的那些元素组成。给定函数的语法如下:

var newArray = arr.filter(arg_function[, this_arg])

这里arr是原始给定的数组。

参数
该函数的参数是另一个函数,该函数定义要检查数组每个元素的条件。此arg_function本身接受三个参数:


  • array
  • 这是在其上调用.filter()函数的数组。

  • index
  • 这是函数正在处理的当前元素的索引。

  • element
  • 这是函数正在处理的当前元素。

另一个参数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]


相关用法


注:本文由纯净天空筛选整理自HGaur大神的英文原创作品 JavaScript | Array filter()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。