在 JavaScript 中,使用物件陣列是一種常見場景。一項常見的任務是從每個物件中提取特定的屬性值並建立包含這些值的陣列。雖然自訂函數可以完成此任務,但也有更優雅和慣用的方法。
給定一個具有特定結構的物件數組,目標是從每個物件中提取一個欄位(屬性)物件並傳回包含這些值的陣列。例如,提取「foo」欄位應該從以下物件陣列產生一個陣列[1, 3, 5]:
objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ];
而不是使用傳統的for 循環和推送方法,考慮這些慣用的解決方案:
方法1:帶有箭頭的Array.map()函數
let result = objArray.map(a => a.foo);
方法2:帶有對象解構的Array.map()
let result = objArray.map(({ foo }) => foo);
兩種方法都使用Array.prototype.map()方法,它使用提供的回調函數轉換數組中的每個元素。在我們的例子中,回調函數從每個物件中提取指定的欄位(“foo”)。 map() 函數傳回一個包含轉換後的元素的新數組,然後將其指派給結果變數。
有關 Array.prototype 的更多資訊。 map(),參考Mozilla 開發者網路(MDN)文件:
[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map](https:/ /developer.mozilla.org/en-US/docs /Web/JavaScript/Reference/Global_Objects/Array/map)
以上是如何在 JavaScript 中有效率地將屬性值提取到陣列中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!