例
返回數組的年齡是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的陣列參考