jQuery Grep() 函數(shù)是一個非常有用的工具,它可以幫助你在一個數(shù)組中篩選出符合條件的元素,然后返回新的數(shù)組。這個函數(shù)是jQuery內(nèi)置函數(shù)之一,使用非常方便。
$.grep( array, function(elementOfArray, indexInArray), [ invert ] )
這個函數(shù)的第一個參數(shù)是要進(jìn)行篩選的數(shù)組,第二個參數(shù)是一個回調(diào)函數(shù),它的作用是判斷數(shù)組的每一個元素是否符合條件。如果符合,就將這個元素添加到返回的新數(shù)組中。
比如,你可以用jquery grep()函數(shù)來篩選所有小于10的數(shù)字,代碼如下:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var filtered = $.grep(arr, function(n, i){ return (n< 10); }); console.log(filtered);
這個函數(shù)將返回一個新的數(shù)組,新數(shù)組中只包含小于10的數(shù)字:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
jQuery Grep() 函數(shù)還可以接受一個可選的 invert 參數(shù)。如果你將這個參數(shù)設(shè)置為 true,函數(shù)將篩選出不符合條件的元素。
比如,你可以用jquery grep()函數(shù)來篩選數(shù)組中所有不是偶數(shù)的數(shù)字,代碼如下:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var filtered = $.grep(arr, function(n, i){ return (n % 2 == 1); }, true); console.log(filtered);
這個函數(shù)將返回一個新的數(shù)組,新數(shù)組中只包含所有奇數(shù)的數(shù)字,因?yàn)槲覀儗?invert 參數(shù)設(shè)置為 true:
[1, 3, 5, 7, 9]
除了上面的例子外,jQuery Grep() 函數(shù)還有很多用處,比如可以用它來篩選包含特定字符的元素,或者篩選所有滿足條件的對象等。希望我寫的這篇文章對你有所幫助。