input[type="range"]
要素を使用してJSONデータをフィルタリングしようとしています。私はフィルタが動作する点に達しましたが、完全には動作しません。フィルタリングロジックが厳しい
デフォルトfilters
オブジェクトは次のようになりますと仮定します。この概念を使用して、そしてアパートメントは非常に厳密にフィルタを取得filters
input
上のイベントの値を変更し、対価のデフォルト値と値を考慮して
filters = {
price: 100,
rating: 3,
beds: 1,
people: 1
}
ユーザーは実際にフィルタリングしたいと思っていました。
apartments = apartments.filter(apartment => {
if (typeof apartment.price == 'string') {
apartment.price = apartment.price.replace(/^\D+/g, '');
}
if (apartment.price <= (filters.price - 100) ||
apartment.price >= filters.price) {
return false;
}
if (apartment.rating != filters.rating)
return false;
if (apartment.beds != filters.beds)
return false;
if (apartment.people != filters.people)
return false;
else
return true;
});
ここで質問です:
どのように私は唯一のアカウントにユーザーが変更され、フィルタの値を取ることによって、より良いフィルタを作ることができますか?
私は単にデフォルト値を削除しようとしましたが、値が存在しないためフィルタに一致することはありません。デフォルト値を設定することで、アパートはユーザーがそれらの1つを変更しました。ここで
はフィルタが私のアプリ上でどのように見えるかです: http://prntscr.com/e6h3oq
これはJSONで表現1つのアパートです:
{
"id":1,
"title":"ultrices posuere cubilia curae",
"description":"Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.\n\nMaecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.",
"date":"3/9/2016",
"price":"£200.32",
"rating":2,
"address":"7 Harbort Drive",
"beds":2,
"people":2,
"user":{
"first_name":"Douglas",
"last_name":"Hansen",
"email":"[email protected]",
"phone":"66-(363)851-6428"
}
}