属性に基づいてオブジェクト配列をフィルターする
問題:
実数の配列があります不動産住宅オブジェクトを検索し、価格、平方フィート、戸数などの特定の属性に基づいてフィルタリングしたいと考えています。
解決策:
配列をフィルタリングするには、Array.prototype.filter を利用できます。 method.
コード:
var newArray = homes.filter(function(el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; });
説明:
フィルター メソッドは、各要素をテストするコールバック関数を受け取ります。配列内で。テストが true を返した場合、その要素は新しい配列に含まれます。この場合、コールバック関数はホーム オブジェクトが指定された基準を満たしているかどうかを確認し、満たしている場合は true を返します。
実際の例:
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) ... ] }; // (Note that because `price` and such are given as strings in your object, // the below relies on the fact that <= and >= with a string and number // will coerce the string to a number before comparing.) var newArray = obj.homes.filter(function(el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 1.5; // Changed this so a home would match }); console.log(newArray);
以上が属性に基づいて不動産ホーム オブジェクト配列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。