問題:
給定一個對像數組,例如:
var jsObjects = [ {a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6}, {a: 7, b: 8} ];
我們如何擷取第三個物件({a: 5, b: 6})僅基於特定屬性(例如 b)的值,而不使用 for...in 迴圈?
答案:
陣列。 prototype.filter() 方法為這個問題提供了一個優雅的解決方案。它允許我們根據指定的條件過濾數組,並傳回一個僅包含匹配元素的新數組。
要根據b 屬性的值過濾物件數組,我們可以使用以下程式碼:
var result = jsObjects.filter(obj => { return obj.b === 6 })
在此程式碼中,過濾函數將一個物件作為輸入並檢查其b 屬性是否等於6。如果滿足條件,則該物件包含在結果中array.
輸出:
結果陣列將包含以下元素:
[{a: 5, b: 6}]
此方法可以用最少的程式碼有效地檢索所需的物件並且無需遍歷數組。
以上是如何透過屬性值在陣列中尋找 JavaScript 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!