jQuery使用 $.grep, 方法

以前自己也没有使用过 $.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 内置方法可简化我们的程序。