在JavaScript 中過濾具有多個條件的物件數組
要根據多個條件簡化物件數組,filter() 方法可以得到有效利用。此方法可讓您透過僅選擇符合特定條件的元素來縮小原始陣列的範圍。
考慮以下使用者陣列:
<code class="javascript">var users = [ { name: 'John', email: '[email protected]', age: 25, address: 'USA' }, { name: 'Tom', email: '[email protected]', age: 35, address: 'England' }, { name: 'Mark', email: '[email protected]', age: 28, address: 'England' } ];</code>
假設您希望基於此篩選此陣列在位址和名稱屬性上。為此,您可以使用以下方法:
<code class="javascript">var filter = { address: 'England', name: 'Mark' }; users = users.filter(function(item) { for (var key in filter) { if (item[key] === undefined || item[key] != filter[key]) return false; } return true; });</code>
在這種情況下,過濾器物件定義要滿足的條件,即位址為“England”,名稱為“Mark”。然後,filter() 方法迭代每個使用者物件並檢查是否滿足過濾器物件中的所有條件。只有那些滿足所有條件的物件才會保留在篩選後的陣列中。
透過使用這種方法,您可以根據多個條件有效地縮小數組範圍,從而提供靈活高效的方法來從數組中選擇特定物件更大的資料集。
以上是如何在 JavaScript 中過濾具有多個條件的物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!