问题:
您有一个房地产家庭对象数组。您需要根据特定条件(例如价格、平方英尺、卧室数量和浴室数量)过滤数组以返回“家庭”对象的子集。
解决方案:
要根据属性过滤对象数组,可以使用 Array.prototype.filter 方法。此方法采用回调函数作为参数,用于确定数组中的每个元素是否应包含在过滤后的数组中。
在您的情况下,您可以创建一个回调函数来检查每个 home 是否应包含在过滤后的数组中。对象满足您的所有标准。下面是一个例子:
let newArray = homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; });
此回调函数检查price属性是否小于或等于1000,sqft属性是否大于或等于500,num_of_beds属性是否大于或等于为 2,并且如果 num_of_baths 属性大于或等于 2.5。如果满足所有这些条件,则该元素将包含在过滤后的数组中。
请注意,语法不必与您提供的示例完全相同。上面的示例使用 && 运算符来组合条件,但您也可以使用 & 运算符。此外,您可以使用箭头函数来简化回调函数。
这是一个实例:
<script> var obj = { '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 newArray = obj.homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; }); console.log(newArray); </script>
以上是如何根据属性过滤 Home 对象的 JavaScript 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!