js中的filter

filter是常說的增刪改查中的‘查’,當對一個數組進行篩選時,常常會使用indexOf 和es6中的includes()方法。filter是es5中的一種迭代方法,其定義爲:對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組 。es6

例:要返回一個全部數值都大於2的數組數組

var number = [1,2,3,4,5,4,3,2,1]瀏覽器

分析:indexOf或者incluses()方法去檢索數組中是否包含某個元素,在這種狀況下很差用。使用filter函數

var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter(function(item,index,array){
    return (item > 2)
});

console.log(filterResult);    //[3,4,5,4,3]

filter方法接受3個參數:數組項的值,該項在數組中的位置和數組自己。es5

與此相似的方法有map , forEach , every , map , some 等,(不一一介紹)spa

此方法可大大方便處理數組的任務,但這些方法有兼容性問題,兼容的瀏覽器有IE9+ 、Firefox2+、Safari3+ 、 Opera9.5+、Chrome。謹慎使用!!!code

相關文章
相關標籤/搜索