Array.prototype.filter

1.filter

1.1作用
  • 用于對數(shù)組進行過濾
  • 會創(chuàng)建一個新數(shù)組旨涝,且新數(shù)組中的元素是通過檢測指定數(shù)組中符合條件的所有元素
  • 不會對空數(shù)組進行檢測
  • 不會改變原數(shù)組
1.2語法
Array.filter(function(element, indedx, arr), thisValue)
  • element:數(shù)組中當前正在處理的元素
  • index[可選]:正在處理的元素在數(shù)組中的索引
  • arr[可選]:調(diào)用了filter的數(shù)組本身
  • thisValue[可選]: 執(zhí)行callback時春贸,用于this的值
1.3實例
let nums = [1,44,2,5,3,34,65]
let newNums = nums.filter(item => {
  return item > 10
})
console.log(newNums) //[44,34,65]

2.實現(xiàn)filter

let nums = [1,44,2,5,3,34,65]
// console.log(newNums) //[44,34,65]
 Array.prototype.myFilter =  function (callback,thisValue) {
  if(this == undefined) { //null和undefined不能調(diào)用該方法
    throw new TypeError("this is null or not undefined!")
  }
  if(Object.prototype.toString.call(callback) != "[object Function]") { //判斷傳給callback的實參是否是函數(shù)材泄,不是函數(shù)則報錯
    throw new TypeError(callback + "is not a function!")
  }
  let res = [] //因為該方法不能改變原數(shù)組
                   //所以要新建一個數(shù)組來接收符合要求的數(shù)值
  for(let i = 0;i < this.length;i++) { //誰調(diào)用了該函數(shù)this就指向誰一個數(shù)組調(diào)用了該函數(shù)所以this.length相對于arr.length
    let right = callback.call(thisValue,this[i],i,this) //callback的this指向傳來的thisValue薄坏,并且傳參后面三個
    right && res.push(this[i]) //相與的特點:左邊結果是true才會執(zhí)行右邊,false則跳過。這句的意思就是當right為true時(即符合用戶在callback函數(shù)中所寫的要求)再執(zhí)行push操作
  }
  return res
}
let newNums = nums.myFilter(item => {
  return item > 10
})
console.log(newNums) //[44, 34, 65]
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稠屠,一起剝皮案震驚了整個濱河市锤悄,隨后出現(xiàn)的幾起案子韧骗,更是在濱河造成了極大的恐慌,老刑警劉巖零聚,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袍暴,死亡現(xiàn)場離奇詭異,居然都是意外死亡隶症,警方通過查閱死者的電腦和手機政模,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚂会,“玉大人淋样,你說我怎么就攤上這事⌒沧。” “怎么了趁猴?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長彪见。 經(jīng)常有香客問我儡司,道長,這世上最難降的妖魔是什么余指? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任捕犬,我火速辦了婚禮,結果婚禮上酵镜,老公的妹妹穿的比我還像新娘碉碉。我一直安慰自己,他們只是感情好淮韭,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布垢粮。 她就那樣靜靜地躺著,像睡著了一般靠粪。 火紅的嫁衣襯著肌膚如雪足丢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天庇配,我揣著相機與錄音斩跌,去河邊找鬼。 笑死捞慌,一個胖子當著我的面吹牛耀鸦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼袖订,長吁一口氣:“原來是場噩夢啊……” “哼氮帐!你這毒婦竟也來了?” 一聲冷哼從身側響起洛姑,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤上沐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后楞艾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體参咙,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年硫眯,在試婚紗的時候發(fā)現(xiàn)自己被綠了蕴侧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡两入,死狀恐怖净宵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裹纳,我是刑警寧澤择葡,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站剃氧,受9級特大地震影響敏储,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜她我,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一虹曙、第九天 我趴在偏房一處隱蔽的房頂上張望迫横。 院中可真熱鬧番舆,春花似錦、人聲如沸矾踱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呛讲。三九已至禾怠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贝搁,已是汗流浹背吗氏。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留雷逆,地道東北人弦讽。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親往产。 傳聞我的和親對象是個殘疾皇子被碗,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容