在 JavaScript 物件陣列中尋找符合值
JavaScript 程式設計師經常遇到需要在物件陣列中搜尋特定值的情況。本文介紹了完成此任務的各種方法,重點介紹 find()、findIndex()、filter() 和 map() 方法。
範例陣列
考慮以下JavaScript 物件陣列:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'},{'id':'67','foo':'baz'}];
找出特定的物件
找出特定的物件
要檢索id 為45 的對象,請使用find()方法:const matchingObject = myArray.find(x => x.id === '45');
取得屬性值
如果要檢索符合物件的 foo屬性值,請使用點表示法:const fooValue = matchingObject.foo;
找出物件的索引
要決定符合物件的索引,請使用findIndex() 方法:const matchingIndex = myArray.findIndex(x => x.id === '45');
過濾匹配對象
至建立一個僅包含匹配對象的數組,使用filter() 方法:const matchingObjects = myArray.filter(x => x.id === '45');
映射匹配值
提取匹配的foo屬性值的數組,連結filter()和map()方法:const fooValues = myArray.filter(x => x.id === '45').map(x => x.foo);
瀏覽器相容性注意
舊版瀏覽器不支援箭頭函數和一些數組方法,例如find()。考慮將 Babel 與適當的 polyfill 一起使用以實現相容性。以上是如何從 JavaScript 物件陣列中高效查找和提取資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!