JavaScript Array filter() (篩選陣列元素)
陣列 (array) 的 filter() 方法用來根據你指定的測試函數,從一個陣列中篩選出符合條件的元素。
語法:
var newArray = arr.filter(callback[, thisArg])
- 參數 callback 是一個函數,用來測試所有的元素,這個函數會接收到三個參數,分別是:
- currentValue 代表目前處理到的元素的值
- index 代表目前處理到的元素的索引位置
- array 代表陣列本身
- 根據 callback 的執行結果,返回 true 表示測試通過;返回 false 則表示失敗
- thisArg 代表 callback 裡面的 this 是指向哪一個物件
- filter() 執行結果會返回一個符合條件的新陣列
用法:
function isBigEnough(value) {
return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// 輸出 [12, 130, 44]
console.log(filtered);
IE 從 IE9 開始才有支援 filter()。