首页 > web前端 > js教程 > 如何根据属性过滤 Home 对象的 JavaScript 数组?

如何根据属性过滤 Home 对象的 JavaScript 数组?

Barbara Streisand
发布: 2024-12-20 13:24:09
原创
476 人浏览过

How to Filter a JavaScript Array of Home Objects Based on Attributes?

根据 JavaScript 中的属性过滤对象数组

问题:

您有一个房地产家庭对象数组。您需要根据特定条件(例如价格、平方英尺、卧室数量和浴室数量)过滤数组以返回“家庭”对象的子集。

解决方案:

要根据属性过滤对象数组,可以使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板