【发布时间】:2018-06-02 19:52:40
【问题描述】:
我希望针对我正在制作的应用改进当前的搜索功能。
我目前正在从如下所示的 firebase 查询中获取一组对象
{
make: "make",
model: "model",
year: 2002,
gas: "petrol",
mileage: "mileage",
images: {
image1: "url",
image2: "url"
},
price: 1295
}
我目前使用 filter 方法对数组进行过滤,并将包含优化的对象与原始数组进行比较,如下所示
refine = (refinements, currentResults) => {
return currentResults.filter(result => this.matchesAll(refinements, result));
}
matchesAll = (refinements, result) => {
for (const key in refinements) {
if (refinements[key] !== result[key]) {
return false;
}
}
return true;
}
这对于比较包含字符串的字段非常有用,但是如果用户想要检查最小年龄或最大价格,我不知道如何实现。
有什么建议吗?
【问题讨论】: