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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。