概述
使用篩選函數過濾陣列元素。
此函數至少傳遞兩個參數:待過濾數組和過濾函數。過濾函數必須傳回 true 以保留元素或 false 以刪除元素。
參數
array,callback,[invert]Array,Function,BooleanV1.0
array:待過濾陣列。
callback:此函數將處理陣列每個元素。第一個參數為目前元素,第二個參數而元素索引值。此函數應傳回一個布林值。另外,此函數可設定為字串,當設定為字串時,將視為「lambda-form」(縮寫形式?),其中 a 代表陣列元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”。
invert:如果 "invert" 為 false 或為設置,則函數會傳回數組中由過濾函數傳回 true 的元素,當"invert" 為 true,則傳回過濾函數中傳回 false 的元素集。
範例
描述:
過濾數組中小於 0 的元素。
jQuery 程式碼:
$.grep( [0,1,2], function(n,i){ return n > 0; });
結果:
[1, 2]
描述:
排除陣列中大於0 的元素,使用第三個參數進行排除。
jQuery 程式碼:
$.grep( [0,1,2], function(n,i){ return n > 0; }, true);
結果:
[0]
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 的元素集。
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函數過濾掉的元素。
以上是jQuery:.grep()的使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!