Я создаю веб-сайт, который будет показывать все общедоступные туалеты в области (это для школьного проекта). Я импортирую файл JSON, анализирую его и называю "ToiletData". Я пытаюсь сделать так, чтобы объект отвечал за определение критериев поиска пользователей. Когда пользователь нажимает «поиск», и объект создается с выбранными критериями, и я пытаюсь перебрать в элементе ToiletData, чтобы удалить все записи, которые не подходят. Проблема в том, что функция не возвращает правильный массив, при поиске определенных критериев функция возвращает только некоторые совпадения, даже если их больше.
Код для поиска объекта (перевод на английский):
function SearchCriteria() {
this.name = void 0;
this.address = void 0;
this.wheelchairAccesible = void 0;
this.price = void 0;
this.equals = function() {
let matches = Object.values(toiletData.entries);
Object.values(toiletData.entries).forEach(toilet => {
Object.keys(this).forEach(key => {
if ((this[key] !== undefined) && (typeof this[key] !== "function")) {
if (this[key] !== toilet[key]) {
matches.remove(toilet);
}
}
});
});
return matches;
};
}
В JSON-файле значения, связанные с переменными:
name = string,
address = string,
wheelchairAccesible = 1(yes) or 0(no),
price = int