以前自己也沒有使用過 $.grep() 方法,$.grep() 方法是按照某種條件來過濾數組,所以使用 $.grep() 方法可以從數組中過濾出我們想要的結果。我們以一個例子來看看,例如有一個名為nums 的陣列:
var nums = '1,2,3,4,5,jQuery,CSS,5'.split(',');
可見數組中有數字和字串,如果我們想找出其中的字串,我們可以直接使用$.grep() 方法來要完成這個任務,如下:
nums = $.grep(nums, function (num, index) { // num = 数组元素的当前值 // index = 当前值的下标 return isNaN(num);});console.log(nums); //结果为: ["jQuery", "CSS"]
我們很容易想到$.map() 方法,$.map() 方法可將一個數組轉換為另一個數組,所以,使用$.map() 方法也可以完成這個任務,如下:
nums = $.map(nums, function (num, index) { //和$.grep() 的区别 //return isNaN,得到结果为:[true, true] return isNaN(num) ? num : null;});console.log(nums); // ["jQuery", "CSS"]
本篇簡單介紹了下$.grep() 方法的使用,同時對比了下$.map() 方法。可見,適當的使用 jQuery 內建方法可簡化我們的程式。