filter是es6的方法。filter()是es6新增的一個數(shù)組方法,用于過濾數(shù)組元素;該方法會將數(shù)組元素傳入一個回調(diào)函數(shù),在回調(diào)函數(shù)中判斷元素是否符合指定條件,若符合則返回,語法“arr.filter(回調(diào)函數(shù),thisValue)”。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
filter()是es6新增的一個數(shù)組方法,用于過濾數(shù)組元素,返回數(shù)組中滿足指定條件的元素。
filter()方法會將數(shù)組元素傳入一個回調(diào)函數(shù),在回調(diào)函數(shù)中判斷元素是否符合指定條件,若符合則返回。
語法:
arr.filter(回調(diào)函數(shù),thisValue)
-
回調(diào)函數(shù):數(shù)組中的每個元素都會執(zhí)行這個函數(shù),用于指定條件,處理元素
-
thisValue:可選。對象作為該執(zhí)行回調(diào)時使用,傳遞給函數(shù),用作 "this" 的值。如果省略了 thisValue ,"this" 的值為 "undefined"
回調(diào)函數(shù)的格式:
function callbackfn(Value,index,array)
最多可接受三個參數(shù):
-
value:當前數(shù)組元素的值,不可省略。
-
index:當前數(shù)組元素的數(shù)字索引。
-
array:當前元素屬于的數(shù)組對象。
返回值:是一個包含回調(diào)函數(shù)為其返回 true 的所有值得新數(shù)組。如果回調(diào)函數(shù)為 array 的所有元素返回 false,則新數(shù)組的長度為 0。
實例1:返回全部偶數(shù)
var a = [2,3,4,5,6,7,8]; function f (value) { if (value % 2 == 0) { return true; }else{ return false; } } var b = a.filter(f); console.log(b);
輸出結(jié)果:
實例2:返回全部閏年
var a = [1995,1996,1997,1998,1999,2000,2004,2008,2010,2012,2020]; function f (value) { if(value%4==0 && value%100!=0){ return true; } else { return false; } } var b = a.filter(f); console.log(b);
輸出結(jié)果:
【