jq 的grep(); 数组筛选方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jq 的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函数过滤掉的元素。

原文:http://www.css88.com/archives/2472;

zepto.js里面也有这个函数

用法一样

$.grep v1.0+

$.grep(items, function(item){ ... })   ⇒ array

获取一个新数组,新数组只包含回调函数中返回 ture 的数组项。

$.grep([1,2,3],function(item){
    return item > 1
});//=>[2,3]

zepto文档地址:http://www.css88.com/doc/zeptojs_api/#$.grep

 

以上是关于jq 的grep(); 数组筛选方法的主要内容,如果未能解决你的问题,请参考以下文章

jq 遍历元素 筛选

Jquery 遍历数组之grep()方法介绍

学习04-jq(jq的使用,jq的入口函数,jq与DOM的转换,基本选择器,层级选择器,设置样式,筛选选择器,筛选方法)

JQ筛选方法,筛选父子元素

jq筛选方法

jQuery遍历数组与筛选数组的方法