日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS Array filter()方法

發布時間:2024/9/19 javascript 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS Array filter()方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JS Array filter()方法

js的數據對象有一個fileter()方法,運行傳入一個方法,并對數組中的每個元素進行過濾。

var arr = [1,2,3,4,5,6]; function checknum(num){return num >= 5 ; } var narr = arr.filter(checknum); //結果:narr = [5,6]

1.語法

filter()的完整語法如下:

array.filter(function(currentValue,index,arr), thisValue)
  • function(currentValue,index,arr): 過濾用的函數,每個元素都會執行這個函數(必)
    • currentValue: 傳入的值(必)
    • index : 索引(選)
    • arr: 當前調用filter()方法的數組對象(選)
  • thisValue : 傳遞給過濾函數的this的值。

2.案例

2.1過濾小于35歲的數據
var age = [17,21,35,45,54,64]; function checkage(age){return age >= 35 ; } var narr = age.filter(checknum); //結果:narr = [35,45,54,64]
2.2過濾arr中小于30的數,并且過濾不存在于arr2中的數

分析一下下面的案例,當arr調用filter()方法并傳入一個過濾函數時,我也傳入了一個arr2數組對象,而這個arr2數組對象將會賦值給過濾函數中的this。當執行filter中的過濾函數時,會將arr中每個元素當成參數傳遞給checknum(num),判斷num十分大于30并包含在arr2數組中,返回的Boolean結果將決定了該元素是否被保留。True(保留) False(去掉)。

var arr = [14,20,36,54,67,88,96] var arr2 = [14,54,88] function checknum(num){return num >= 30 && this.indexof(num)!=-1; } var narr = arr.filter(checknum,arr2); //結果:narr = [54,88]
2.3過濾掉arr中第三個元素的值

filter() 方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。所以在過濾的過程中arr數組并沒有發生改變。

var arr = [14,20,36,54,67,8,36,36,96,36] //可以傳入箭頭函數 var narr = arr.filter((currentValue,index,arr)=>{return currentValue ==arr[2]; });
2.4過濾掉arr中第三個元素的重復值

這里通過index獲取當前元素在數組中索引,通過索引我們可以進行判斷,從而避免刪除第三個元素。(我們只是刪除后面出現重復值)

var arr = [14,20,36,54,67,8,36,36,96,36] //可以傳入箭頭函數 var narr = arr.filter((currentValue,index,arr)=>{return currentValue ==arr[2] && index != 2; });

總結

以上是生活随笔為你收集整理的JS Array filter()方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。