當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS Array filter()方法
生活随笔
收集整理的這篇文章主要介紹了
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()方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称亚马逊成立 AI 模型训练团队,斥
- 下一篇: vuex中的getters