【问题标题】:Best way to filter selector against an array针对数组过滤选择器的最佳方法
【发布时间】:2012-06-19 10:37:31
【问题描述】:

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

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

我只是想知道是否有一种速记方式或更有效的方式?您认为实现这一点的最佳方式是什么?

【问题讨论】:

  • 数组包含什么...你能举个例子吗?
  • 你能解释清楚吗,except those that are contained within an array.是什么意思?
  • 对不起,我更新了 - 它是一个 jQuery 项目对象数组,肯定会包含在 $(.items) 的结果中

标签: jquery arrays filter reduce


【解决方案1】:

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

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

我会怎么做:

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

【讨论】:

  • 感谢您的全面回复和干净的解决方案,我会接受的
  • @VisioN,这条评论还是让我觉得有趣,你还记得它的context是什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 2017-11-30
相关资源
最近更新 更多