您的位置:首页 > Web前端 > JQuery

jQuery学习笔记——$.grep()工具函数

2015-04-02 08:36 579 查看
$.grep() 的作用是:使用过滤规则过滤数组元素。

$.grep() 的返回值是数组Array。

它有三个参数:$.grep( array, callback, [ invert ] )。

1. 其中 array 是待过滤的数组。

2. callback 是个函数,即过滤规则。此函数将处理 array 的每个元素。它有两个参数,第一个参数为array的当前元素,第二个参数为元素索引值。此函数应返回一个布尔值。

3. invert 是布尔值,可选。如果 invert 为 false 或 未设置,则 $.grep() 返回 array 中由 callback 返回true的元素集;当 invert 为 true 时,则$.grep() 返回 array 中由 callback 返回false的元素集。

示例1:过滤数组中大于0的元素。

$.grep([0,1,2], function(element,index){
return element>0;
});

结果:

[1,2]
示例2:筛选数组中小于6,并且索引小于5的元素。
var arr=[5,2,9,4,11,57,89,1,23,8];
var arrGrep = $.grep(arr, function(element, index){
return element < 6 && index < 5;
});
结果:
[5,2,4]
示例3:排除数组中大于0的元素,使用第三个参数进行排除。
$.grep( [0,1,2], function(element, index){
return element > 0;
}, true);//第三个参数为true,$.grep()返回element>0为false的元素,即返回element<=0的元素。
结果:
[0]
示例4:筛选出包含子串 'ma' 的数组元素。
var hosts = ['qq.com', '163.com', '126.com', 'sina.com','gmail.com', 'hotmail.com'];
$.grep(hosts, function (element, index) {
return element.indexOf('ma') > -1;
});
结果:
['gmail.com','hotmail.com']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery