cars.forEach(function(car) {
for (var i = 0; i < active_filters.length; i ++) {
if (car.attr(active_filters[i]['id']) !== active_filters[i]['value']) {
car.addClass("filtered-out");
break;
}
}
});
字符串 或其它类似的东西
cars.forEach(function(car) {
var found = active_filters.find(function(el) {
return car.attr(el['id']) === el['value'];
});
if (!found) {
car.addClass("filtered-out");
}
});
2条答案
按热度按时间tkqqtvp11#
我不知道你写的逻辑是真是假,但你可以用简单的循环和检查条件。
字符串
或其它类似的东西
型
2ekbmq322#
你
字符串
有多个问题。首先,您没有将
.map()
的结果分配给任何东西,所以它是一个无用的计算,除了在适当的地方添加类。其次,对于car
的输入,您将得到find()
的结果作为结果,但.find()
返回表达式为true或undefined
的第一个索引。然而,你的表达式可能总是undefined
,因为如果条件是false
,那么你甚至没有return
语句。然而,如果条件是true
,那么你返回addClass()
返回的任何东西。如果.addClass()
返回其他东西,那么只要条件是true
,find()
就会返回它。最后,你把你的结构变化和你的搜索查找器混淆了,这通常不是一个好主意,因为它混合了应该分开的关注点。这是一个可能有帮助的示例代码:
x
的字符串
说明:
div
元素,这样我们就有了一些上下文active_filters
对象,它是键值对,键是过滤器的名称,值是它使用名为item
的输入计算的值cars
active_filters
filtered_out
类添加到它continue
filtered_out
class
的cars
并记录结果。