我想知道Grep和Filter之间的区别:
过滤器:
将匹配的元素集减少为与选择器匹配的元素或通过函数的测试。
Grep:
查找满足过滤函数的数组元素。原始数组不受影响。
好的。
因此,如果我在GREP中执行此操作:
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);
});
我也可以这样做:
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是不同之处?
发布于 2012-04-13 19:51:21
它们的功能相似,但它们的用法不同。
filter函数旨在与html元素一起使用,这就是为什么它是一个可链接的函数,它返回一个jQuery对象,并接受":even“、":odd”或":visible“等过滤器。
发布于 2012-04-13 19:37:53
过滤器是jQuery.fn的一部分,因此它的目标是与选择器$('div').filter
一起使用,其中grep是一种通用工具方法( jQuery tool method,jQuery.grep
)
发布于 2014-07-02 19:00:24
其用法的不同之处:
过滤器:
$(选择器).filter(选择器/函数)
Grep:
$.grep(数组,函数,反转)
所以在你的例子中,我更愿意使用grep()
,因为这样使用数组是不必要的:$(arr)
。
我还假设grep
函数更快,因为它只接受数组。
https://stackoverflow.com/questions/10139916
复制相似问题