透過符合JavaScript 陣列中的值來找出物件
當遇到JavaScript 物件陣列時,根據符合屬性擷取特定物件價值可能具有挑戰性。本文探討了可輕鬆找到此類物件的有效方法。
find() 方法
JavaScript 的 find() 方法提供了一個簡單的解決方案。它的語法是:
find(predicateFunction)
其中 predicateFunction 是一個回調,它會傳回一個布林值,指示目前元素是否滿足搜尋條件。要尋找「id」屬性具有匹配值的對象,我們可以使用以下程式碼:
myArray.find(x => x.id === '45').foo;
findIndex() 方法
如果您如果只對匹配對象的索引感興趣,則findIndex() 方法可能很有用。它的語法是:
findIndex(predicateFunction)
下面的程式碼將傳回「id」屬性設定為「45」的物件的索引:
myArray.findIndex(x => x.id === '45');
過濾器( ) 方法
要取得包含所有符合物件的數組,filter() 方法提供了一個方便的解決方案。其語法為:
filter(predicateFunction)
以下程式碼將傳回「id」屬性設定為「45」的物件陣列:
myArray.filter(x => x.id === '45');
map( ) 方法
最後,如果你需要一個只包含特定屬性的匹配值的數組,map()方法可以被使用。它的語法是:
map(transformFunction)
下面的程式碼將為「id」屬性設定為「45」的物件傳回一個「foo」屬性值陣列:
myArray.filter(x => x.id === '45').map(x => x.foo);
瀏覽器相容性說明
值得注意的是,像Internet Explorer 這樣的瀏覽器可能不支援現代方法就像find()和 filter() 一樣。為了與這些瀏覽器相容,請考慮使用 Babel 和適當的 polyfill 來轉譯您的程式碼。
以上是如何根據屬性值高效尋找JavaScript物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!