當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


ES6 Array filter()用法及代碼示例


數組 filter() 是一個內置方法,該方法創建一個新數組,其中的元素遵循或通過給定的標準和條件。為了更好地理解這個概念,下麵實施了一些示例

用法:

var newArray = arr.filter(callback(element[, index[, array]])
[, thisArg])

參數:此方法接受上麵提到的和下麵描述的 2 個參數:

  • Callback:該函數是一個謂詞,用於測試數組的每個元素。返回 true 以保留元素,否則返回 false。它接受三個參數:
    • element:數組中正在處理的當前元素。
    • index(Optional):數組中正在處理的當前元素的索引。
    • array(Optional):調用了數組過濾器。
  • thisArg(Optional):執行回調時用作 this 的值。

範例1:filter函數過濾數組中所有大於5的數值


var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var result = numbers.filter(number => number > 5);
console.log(result);

輸出:



[ 6, 7, 8, 9, 10 ]

範例2:filter 函數過濾數組中所有長度大於 5 的單詞


var words = ["hi", "hello", "hey", "apple", "watermelon",
             "lemon", "javascript"];
var result = words.filter(word => word.length > 5);
console.log(result);

輸出:

[ 'watermelon', 'javascript' ]

範例3:filter 函數從數組中過濾掉所有無效的用戶 ID。


var jsonarr = [
    {
        id:1,
        name:"joe"
    },
    {
        id:-19,
        name:"john"
    },
    {
        id:20,
        name:"james"
    },
    {
        id:25,
        name:"jack"
    },
    {
        id:-10,
        name:"joseph"
    },
    {
        id:"not a number",
        name:"jimmy"
    },
    {
        id:null,
        name:"jeff"
    },
]
  
var result = jsonarr.filter(user => user.id > 0);
  
console.log(result);

輸出:

[{"id":1,"name":"joe"},{"id":20,"name":"james"},
{"id":25,"name":"jack"}] 



相關用法


注:本文由純淨天空篩選整理自IshjotSingh97大神的英文原創作品 ES6 | Array filter() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。