jquery中有個grep()方法用於數組元素過濾篩選,悲劇的是,平時我們用的api文檔中找不到這個說明。查看官方說明:http://api.jquery.com/jQuery.grep/
grep()的使用方法:
grep(array,callback,invert)
array:待過濾數組;
callback:處理數組中的每個元素,並過濾元素,該函數中包含兩個參數,第一個是當前數組元素的值,一個是當前數組元素的下標,即元素索引值。此函數應返回一個布爾值。另外,此函數可設置為一個字符串,當設置為字符串時,將視為“lambda-form”(縮寫形式?),其中 a 代表數組元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布爾型可選項,默認值false,值為true或false, 如果 “invert” 為 false 或為設置,則函數返回數組中由過濾函數返回 true 的元素,當”invert” 為 true,則返回過濾函數中返回 false 的元素集。
解釋完grep()的用法,現在來舉個小例子:
. 代碼如下:var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
});
上面的例子返回[3,4,5,6],但是我們給invert的值為true,例如
. 代碼如下:var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
},ture);
所以現在返回的是[0,1,2],也就是被callback函數過濾掉的元素。