针对数组过滤选择器的最佳方法

时间:2012-06-19 10:37:31

标签: jquery arrays filter reduce

假设我有一个选择器$('.items'),我希望获得除jQuery项目对象数组中包含的项目之外的所有项目。

我可以使用filtergrepeach来浏览所选的每个项目,并且在每个项目上我都可以创建另一个循环以查看它是否与不允许的数组中的任何项目匹配。

我只是想知道是否有一种速记方式,或者更有效的方式?您认为实施此方法的最佳方式是什么?

1 个答案:

答案 0 :(得分:4)

使用filter,因为它是最易读的方式,而这就是函数的目的 - filter ......

  • each主要用于对集合中每个元素执行操作。
  • grep用于数组,而不是jQuery对象,虽然它可以用它完成,但它不应该。

我该怎么做:

var arr = ['a', 'b', 'c', 'd'];
$('...').filter(function(){
    return $.inArray(this.id, arr) === -1
});