首頁  >  文章  >  web前端  >  jQuery:.grep()的使用詳解

jQuery:.grep()的使用詳解

黄舟
黄舟原創
2017-07-19 09:13:161313瀏覽

概述

使用篩選函數過濾陣列元素。

此函數至少傳遞兩個參數:待過濾數組和過濾函數。過濾函數必須傳回 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn