問題:
您有一個房地產家庭物件陣列。您需要根據特定條件(例如價格、平方英尺、臥室數量和浴室數量)過濾陣列以傳回「家庭」物件的子集。
解決方案:
要根據屬性過濾物件數組,可以使用 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中文網其他相關文章!