ホームページ >ウェブフロントエンド >jsチュートリアル >属性に基づいてホーム オブジェクトの JavaScript 配列をフィルタリングする方法

属性に基づいてホーム オブジェクトの JavaScript 配列をフィルタリングする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-20 13:24:09461ブラウズ

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

JavaScript の属性に基づいたオブジェクト配列のフィルタリング

問題:

不動産の住宅オブジェクトの配列があります。価格、平方フィート、寝室の数、バスルームの数などの特定の条件に基づいて配列をフィルタリングして、「家」オブジェクトのサブセットを返す必要があります。

解決策:

属性に基づいてオブジェクト配列をフィルターするには、Array.prototype.filter メソッドを使用できます。このメソッドはコールバック関数を引数として受け取り、配列内の各要素をフィルタリングされた配列に含めるかどうかを決定するために使用されます。

あなたの場合、各ホームがオブジェクトはすべての基準を満たしています。以下に例を示します。

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 属性が以上かどうかをチェックします。 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>

以上が属性に基づいてホーム オブジェクトの JavaScript 配列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。