首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jQuery中Grep vs Filter?

在jQuery中Grep vs Filter?
EN

Stack Overflow用户
提问于 2012-04-13 19:25:38
回答 5查看 57.7K关注 0票数 86

我想知道Grep和Filter之间的区别:

过滤器:

将匹配的元素集减少为与选择器匹配的元素或通过函数的测试。

Grep:

查找满足过滤函数的数组元素。原始数组不受影响。

好的。

因此,如果我在GREP中执行此操作:

代码语言:javascript
运行
复制
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];

myNewArray= jQuery.grep(arr, function(n, i){
  return (n != 5 && i > 4);
});

我也可以这样做:

代码语言:javascript
运行
复制
 var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];

myNewArray= $(arr).filter( function(n, i){
  return (n != 5 && i > 4);
});

在这两种情况下,我仍然可以访问原始数组...

so...where是不同之处?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-13 19:51:21

它们的功能相似,但它们的用法不同。

filter函数旨在与html元素一起使用,这就是为什么它是一个可链接的函数,它返回一个jQuery对象,并接受":even“、":odd”或":visible“等过滤器。

票数 138
EN

Stack Overflow用户

发布于 2012-04-13 19:37:53

过滤器是jQuery.fn的一部分,因此它的目标是与选择器$('div').filter一起使用,其中grep是一种通用工具方法( jQuery tool method,jQuery.grep)

票数 20
EN

Stack Overflow用户

发布于 2014-07-02 19:00:24

其用法的不同之处:

过滤器:

$(选择器).filter(选择器/函数)

Grep:

$.grep(数组,函数,反转)

所以在你的例子中,我更愿意使用grep(),因为这样使用数组是不必要的:$(arr)

我还假设grep函数更快,因为它只接受数组。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10139916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档