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()。