例
返回数组的年龄是18岁以上的所有值的数组:
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
其结果将是:
32,33,40
试一试» 更多“试一试”的例子。
定义和用法
该filter()方法创建充满了通过测试(作为一个功能提供)所有的数组元素的数组。
注:过滤器()没有价值观不执行数组元素的功能。
注:过滤器()不改变原来的数组。
浏览器支持
在表中的数字指定完全支持方法的第一个浏览器的版本。
方法 | |||||
---|---|---|---|---|---|
filter() | 是 | 9 | 1.5 | 是 | 是 |
句法
array.filter( function(currentValue,index,arr), thisValue )
参数值
Parameter | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
function(currentValue, index,arr) | Required. A function to be run for each element in the array. Function arguments:
|
||||||||
thisValue | Optional. A value to be passed to the function to be used as
its "this" value. If this parameter is empty, the value "undefined" will be passed as its "this" value |
技术细节
返回值: | 包含通过测试的所有的数组元素的数组。 如果没有的元素通过测试它返回一个空数组。 |
---|---|
JavaScript的版本: | 1.6 |
更多示例
例
返回年龄阵列是特定数量或以上的所有值的数组:
<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>
<p>All ages above
minimum: <span id="demo"></span></p>
<script>
var ages = [32, 33,
12, 40];
function checkAdult(age) {
return age
>= document.getElementById("ageToCheck").value;
}
function
myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>
试一试» JavaScript的阵列参考