【发布时间】:2021-04-15 14:50:47
【问题描述】:
我有以下房地产住宅对象的 JavaScript 数组:
var json = {
'homes': [{
"home_id": "1",
"price": "925",
"sqft": "1100",
"num_of_beds": "2",
"num_of_baths": "2.0",
}, {
"home_id": "2",
"price": "1425",
"sqft": "1900",
"num_of_beds": "4",
"num_of_baths": "2.5",
},
// ... (more homes) ...
]
}
var xmlhttp = eval('(' + json + ')');
homes = xmlhttp.homes;
我想做的是能够对对象执行过滤器以返回“家”对象的子集。
例如,我希望能够根据:price、sqft、num_of_beds 和 num_of_baths 进行过滤。
如何在 JavaScript 中执行类似下面的伪代码:
var newArray = homes.filter(
price <= 1000 &
sqft >= 500 &
num_of_beds >=2 &
num_of_baths >= 2.5 );
注意,语法不必与上面完全相同。这只是一个例子。
【问题讨论】:
-
var json = { ... }JSON 是一种用于数据交换的文本表示法。 (More here.) 如果您正在处理 JavaScript 源代码,而不是处理 字符串,那么您就不是在处理 JSON。 -
不要使用 eval。这通常是不好的做法,可能会导致性能问题。由于处理器被锁定,我们只需要摆脱项目中的一堆。
标签: javascript