[JavaScript]Array.filter()過濾陣列元素
filter()
是 JavaScript 提供於 Array 資料型態 的方法,專門用來處理 過濾 陣列(Array)裡的元素,下面使用範例來實際說明,如何使用 JavaScript filter()
的方法:
除了陣列物件之外,任何具有 length 屬性且具有數值索引屬性名稱的物件都可以使用 filter 方法
語法:
array.filter( callbackfn [ , thisArg ] )
傳回值:
新陣列
,其中包含回呼函式針對來源陣列傳回 true 的所有元素。如果所有元素都傳回 false,新陣列的長度就是 0。
語法參數:
callbackfn(必填) :
callbackfn
為 回呼(callback) 函式,有三個傳入值,分別是:element
、index
、array
:
- element : 當前元素的
值(value)
- index : 當前元素的
索引(index)
- array : 輸入的
陣列(array)
thisArg :
指定 物件作為 callbackfn
裡的 this
參考值,如果省略 thisArg,則 this 的值則迴傳 undefined
範例 :
function large(element,index,array){
if(element > 3){
return true;
} else{
return false;
}
}
var arr = [1,2,3,4,5,6,7];
console.log(arr.filter(large));
return 結果:
(4) [4, 5, 6, 7]