jquery数组过滤筛选方法grep()简介_jquery

jquery中有个grep()方法用于数组元素过滤筛选,悲剧的是,平时我们用的api文档中找不到这个说明。查看官方说明:http://api.jquery.com/jQuery.grep/

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 的元素集。

解释完grep()的用法,现在来举个小例子:

复制代码 代码如下:

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函数过滤掉的元素。

时间: 2024-08-30 11:55:36

jquery数组过滤筛选方法grep()简介_jquery的相关文章

jquery数组封装使用方法分享(jquery数组遍历)_jquery

$.each(array, [callback]) 遍历 不同于例遍 jQuery 对象的 $.each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略. each遍历,相信都不陌生,在平常的事件处理中,是for循环的变体,但比for循环强大.在数组中,它可以轻松的攻取数组索引及对应的值.例: 使用方法如下: 复制代码 代码如

jquery数组封装使用方法分享

 JQuery对数组的处理非常便捷并且功能强大齐全,一步到位的封装了很多原生js数组不能企及的功能.下面来看看JQuery数组的强大之处在哪.  $.each(array, [callback]) 遍历   不同于例遍 jQuery 对象的 $.each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略.   each遍历,相信

分析了一下JQuery中的extend方法实现原理_jquery

很久没有发表帖子了,今天突然分析了一下JQuery中的extend方法实现原理.目的为了提高自己对JQuery的认识,也想了解JavaScript高手是如何编写JS的,如有不足请指正.谢谢! 下面是JQuery.extend方法源代码: 复制代码 代码如下: jQuery.extend = jQuery.fn.extend = function() {      var options, name, src, copy, copyIsArray, clone,          target =

通过$(this)使用jQuery包装后的方法或属性_jquery

如果你要使用html元素本身的属性或方法就需要使用this,如果你要使用jQuery包装后的方法或属性就要$(this),一般则有如下的关系. 复制代码 代码如下: $(this)[0] == this; 上文的代码是要使用this的地方是要调用表单form的有reset方法,而这一方法jQuery没有包装支持,所以才有this.reset(),也可以使用$(this)[0].reset(); 关于什么时候使用二者?可以看如下例子: 复制代码 代码如下: <a href="http://s

动态加载jQuery的两种方法实例分析_jquery

本文实例讲述了动态加载jQuery的两种方法.分享给大家供大家参考.具体如下: 第一种方法参考本站之前有人发的代码,增加了加载检测: 第二种方法来自去年的12306刷票脚本. 第一种方法: function withjQuery(callback) { if(!(window.jQuery)) { var js = document.createElement('script'); js.setAttribute('src', 'https://dynamic.12306.cn/otsweb/j

jquery.ajax之beforeSend方法使用介绍_jquery

常见的一种效果,在用ajax请求时,没有返回前会出现前出现一个转动的loading小图标或者"内容加载中..",用来告知用户正在请求数据.这个就可以用beforeSend方法来实现. 下载demo:ajax loading 代码如下: 复制代码 代码如下: function test_ajax(){    $.ajax(    {       type:"GET",//通常会用到两种:GET,POST.默认是:GET       url:"a.php&qu

jquery插件Jplayer使用方法简析_jquery

初识jplayer插件是因为它的兼容性是最好的,可以兼容到IE6,官网上对它兼容性有很详细的说明 这个是我选择使用它的首要原因. 现在从需求上来了解它的使用方法吧.第一个需求:MP3格式的音频在网页播放,样式如下: 刚看到这个需求的时候,还是觉着有些难度的.我从官网(http://www.jplayer.cn/)上下载了这个的压缩包,直接拿出了里面的例子套用(路径:/examples/blue.monday/demo-01-supplied-mp3.htm),不得不说,这也是学会使用这个插件的最

jQuery帮助之筛选查找 children([expr])_jquery

children([expr]) 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合. 可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而children()之考虑子元素而不考虑所有后代元素. 返回值:jQuery 参数: expr (String) : (可选) 用以过滤子元素的表达式. 示例: 查找DIV中的每个子元素. HTML 代码: 复制代码 代码如下: <p>Hello</p><div><span>

从jquery的过滤器.filter()方法想到的_jquery

最近发现了jquery的.filter()方法,这真是一个很强大的方法,最强大之处在于,他可以接受一个函数作为参数,然后根据函数的返回值判断,如果返回值是true,这个元素将被保留,如果返回值是false,这个元素将被剔除.这就是jquery选择器的过滤器. 空说无用,我们展示一下 复制代码 代码如下: <body> <p>你好啊,今天及多大了啊</p> <p><span>为什么要告诉你</span></p> </b