【发布时间】:2019-03-02 08:50:53
【问题描述】:
我不知道如何过滤具有多个条件的数组。我有一个带有 2 个选择、1 个复选框字段集和 1 个单选按钮字段集的搜索过滤器表单。我有返回符合所选条件的项目的函数。他们只能单独工作。找到符合所有条件的对象的最佳方法是什么?
我尝试为所有可能的选项创建 if 语句,但代码无法正常工作,看起来应该有一些更好的选项可以这样做。
这里是函数示例:
function chooseRating(hotel) {
return hotel.rating == e.target.value;
}
function chooseMeal(hotel) {
return hotel.mealType == e.target.value;
}
function choosePlace(hotel) {
for (let l = 0; l < chosenPlace.length; l++) {
if(chosenPlace[l].checked) {
return hotel.region == e.target.value;
}
}
}
我应该如何过滤数组?
let filteredCards = hotels.filter(function(hotel, index, hotels) {
// ??
});
用户选择他对酒店的要求,他应该得到符合所有要求的酒店。如果其中一些未选择,则默认情况下不计入。
【问题讨论】:
-
请添加您期望的输入和输出。
-
如果没有
e,这些功能将无法工作,但该事件是一次性的,您需要<input>的value。 -
@shubham-gupta 我提供了一些额外的信息。这是你要求的吗?
-
@chris-g 一开始我使用的是值,但它也不能正常工作
标签: javascript