【发布时间】:2012-04-25 18:19:39
【问题描述】:
我想知道 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);
});
在这两种情况下,我仍然可以访问原始数组...
所以...区别在哪里?
【问题讨论】:
-
我认为
.grep()是一般数组处理的辅助方法,而.filter()通常用于缩小元素选择范围。我不认为.grep()返回一个 jQuery 对象,你不能链接它(jQuery.fn.grep不存在)。 -
$(arr).filterarr.filter。 -
Mahn 没有得到广泛支持