filter是es6的方法。filter()是es6新增的一個(gè)數(shù)組方法,用于過(guò)濾數(shù)組元素;該方法會(huì)將數(shù)組元素傳入一個(gè)回調(diào)函數(shù),在回調(diào)函數(shù)中判斷元素是否符合指定條件,若符合則返回,語(yǔ)法“arr.filter(回調(diào)函數(shù),thisValue)”。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
filter()是es6新增的一個(gè)數(shù)組方法,用于過(guò)濾數(shù)組元素,返回?cái)?shù)組中滿足指定條件的元素。
filter()方法會(huì)將數(shù)組元素傳入一個(gè)回調(diào)函數(shù),在回調(diào)函數(shù)中判斷元素是否符合指定條件,若符合則返回。
語(yǔ)法:
arr.filter(回調(diào)函數(shù),thisValue)
-
回調(diào)函數(shù):數(shù)組中的每個(gè)元素都會(huì)執(zhí)行這個(gè)函數(shù),用于指定條件,處理元素
-
thisValue:可選。對(duì)象作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作 "this" 的值。如果省略了 thisValue ,"this" 的值為 "undefined"
回調(diào)函數(shù)的格式:
function callbackfn(Value,index,array)
最多可接受三個(gè)參數(shù):
-
value:當(dāng)前數(shù)組元素的值,不可省略。
-
index:當(dāng)前數(shù)組元素的數(shù)字索引。
-
array:當(dāng)前元素屬于的數(shù)組對(duì)象。
返回值:是一個(gè)包含回調(diào)函數(shù)為其返回 true 的所有值得新數(shù)組。如果回調(diào)函數(shù)為 array 的所有元素返回 false,則新數(shù)組的長(zhǎng)度為 0。
實(shí)例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é)果:
實(shí)例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é)果:
【