【发布时间】:2010-12-14 06:17:45
【问题描述】:
我有一个这样的 JavaScript 房屋数组,
{
"homes" : [{
"home_id" : "1",
"address" : "321 Main St",
"city" : "Dallas",
"state" : "TX",
"zip" : "75201",
"price" : "925",
"sqft" : "1100",
"year_built" : "2008",
"account_type_id" : "2",
"num_of_beds" : "2",
"num_of_baths" : "2.0",
"geolat" : "32.779625",
"geolng" : "-96.786064",
"photo_id" : "14",
"photo_url_dir" : "\/home_photos\/thumbnail\/2009\/06\/10\/"
}],
..........
}
我想提供 3 种不同的搜索方式。
我怎样才能返回这个家庭区域数组的子集:
- X 和 Y 之间的
price -
bathrooms>= Z -
bedrooms的数量 == A 或 == B 或 == C
例如,我将如何创建如下伪代码:
homes.filter {price >= 150000, price <= 400000, bathrooms >= 2.5, bedrooms == 1 | bedrooms == 3}
【问题讨论】:
-
请注意,您的数据结构中有一些应该是数字的字符串,并且您的 home 数组中有
num_of_baths和num_of_beds,但您在伪代码中使用了bathrooms和bedrooms.在我自己的示例中,这让我困惑了一段时间,因为这些条目不存在。 :-) -
这里的另一个问题是您需要处理这些语句的不同连接方式。例如,价格语句由 &&(价格范围)连接,卧室语句将由 || 连接。将它们放在类似于伪代码中的列表中并不能说明差异。我添加了另一个解决此问题的答案。
-
这里有一些安静的答案,在某些时候你应该接受一个对你有用的答案。
标签: javascript html json filter