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


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


arr.filter()函數用於從給定數組創建新數組,該數組僅由給定數組中滿足參數函數設置條件的那些元素組成。給定函數的語法如下:

var newArray = arr.filter(arg_function[, this_arg])

這裏arr是原始給定的數組。

參數
該函數的參數是另一個函數,該函數定義要檢查數組每個元素的條件。此arg_function本身接受三個參數:


  • array
  • 這是在其上調用.filter()函數的數組。

  • index
  • 這是函數正在處理的當前元素的索引。

  • element
  • 這是函數正在處理的當前元素。

另一個參數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]


相關用法


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