從JavaScript 物件陣列中擷取相符的物件
在JavaScript 中,我們經常遇到需要遍歷一個物件陣列並定位一個物件的情況。基於特定值的特定物件。考慮以下數組:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]
假設我們的 ID 為 45 並且希望檢索對應的 'foo' 屬性。以下是實現此目的的多種方法:
方法 1:利用 Find 方法
find() 方法讓我們找到第一個符合指定條件的物件。要找出ID 為45 的對象,我們可以使用以下語法:
myArray.find(x => x.id === '45').foo;
方法2:使用FindIndex 方法
如果我們主要對匹配對象的索引而不是物件本身,我們可以利用findIndex()方法:
myArray.findIndex(x => x.id === '45');
方法三:檢索匹配元素數組(過濾方法)
當我們需要取得匹配元素時,可以使用filter()方法匹配特定條件的所有物件的陣列。在我們的例子中,這將是:
myArray.filter(x => x.id === '45');
方法4:提取屬性值(映射方法)
如果我們對提取'foo' 特別感興趣來自於匹配物件的屬性值,我們可以將filter() 和map()方法組合為如下:
myArray.filter(x => x.id === '45').map(x => x.foo);
跨瀏覽器相容性注意:
需要注意的是,find() 和findIndex() 等較新的方法並未獲得普遍支援較舊的瀏覽器,例如IE。為了確保跨瀏覽器相容性,請考慮使用 Babel 之類的工具和適當的 polyfill 來轉譯程式碼。
以上是如何從 JavaScript 陣列中有效地尋找和檢索特定物件和屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!