根據屬性值在數組中定位物件
考慮一個數組,例如:
vendors = [{ Name: 'Magenic', ID: 'ABC' }, { Name: 'Microsoft', ID: 'DEF' }, // and so on... ];
如何高效確定該數組中是否存在“Magenic”?以下是如何在不訴諸明確循環的情況下完成此任務,這在處理大型數據集時特別有用:
利用some 方法查找單個匹配元素:
if (vendors.some(e => e.Name === 'Magenic')) { // A matching object is found! }
檢索使用find匹配對象:
if (vendors.find(e => e.Name === 'Magenic')) { // Returns the object itself, not just a boolean. }
尋找第一個匹配元素的索引findIndex:
const i = vendors.findIndex(e => e.Name === 'Magenic'); if (i > -1) { // Indicates a matching object found at index i. }
如果需要多個匹配對象,請使用過濾器:
if (vendors.filter(e => e.Name === 'Magenic').length > 0) { // Returns all objects that satisfy the condition. }
對於不支援箭頭功能的瀏覽器:
if (vendors.filter(function(e) { return e.Name === 'Magenic'; }).length > 0) { // Same as above, using traditional function syntax. }
以上是如何根據屬性值高效率找出JavaScript數組中的物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!