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 });
var arr=$.grep([0,1,2,3,4,5,6],function(n,i){ return n>2 },ture);
所以现在返回的是[0,1,2],也就是被callback函数过滤掉的元素。
问题内容: 我在此站点上搜索了许多示例,但似乎无法满足我的需求。我只需要使用过滤一些JSON结果。 以下是我的JSON: 上面的例子 如何退回所有类别为的项目? 我将如何退回所有类别为和的项目? 我知道这不是一个很好的例子,但是任何帮助都会很棒!谢谢! 我尝试了以下变化 问题答案: returnData返回一个对象数组,因此您可以按数组索引访问它。 http://jsfiddle.net/wyfr
问题 你想要根据布尔条件来筛选数组。 解决方案 使用 Array.filter (ECMAScript 5): array = [1..10] array.filter (x) -> x > 5 # => [6,7,8,9,10] 在 EC5 之前的实现中,可以通过添加一个筛选函数扩展 Array 的原型,该函数接受一个回调并对自身进行过滤,将回调函数返回 true 的元素收集起来。 # 扩展 A
本文向大家介绍浅析jquery数组删除指定元素的方法:grep(),包括了浅析jquery数组删除指定元素的方法:grep()的使用技巧和注意事项,需要的朋友参考一下 遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组。 我定义的js数组是这样的: 想达到的效果 我想达到的效果是这样的: 删除索引=1的元素,并返回新数组。 返回的结果是: 我们知道,原生的javascript有
我正在为一个数组做一个搜索函数。我有一个输入[文本],例如,我把'ban',然后我需要所有以'ban'开头的结果显示出来,例如香蕉,香蕉奶昔,香蕉(油炸),等等。 我该怎么做呢?我试过了,但每次都不准确。我试过的在下面。 我有一个非常接近,但当我键入“ban”时,它出现了“aardbei”。这显然是错误的。在这里,也许我忽略了什么?
在方法调用时,你可以通过方法参数过滤器,对传入方法的参数进行过滤处理。 注解说明 @FilterArg 属性名称 说明 name 参数名 filter 过滤器callable 用法示例 简单使用: /* * @FilterArg(name="data", filter="json_decode") */ public function test($data) { var_dump($d
主要内容:缩小搜索元素的范围,jQuery first() 方法,实例,jQuery last() 方法,实例,jQuery eq() 方法,实例,jQuery filter() 方法,实例,jQuery not() 方法,实例缩小搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。 其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。 jQuery first(