如何從物件陣列中提取屬性值作為數組
在JavaScript 中,您可能會遇到需要提取屬性的情況數組中每個物件的特定屬性值。實現此目的的一種方法是透過自訂函數,如下所示:
const objArray = [{ foo: 1, bar: 2 }, { foo: 3, bar: 4 }, { foo: 5, bar: 6 }]; function getFields(input, field) { const output = []; for (let i = 0; i < input.length; ++i) { output.push(input[i][field]); } return output; } const result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]
但是,使用JavaScript 的陣列方法有更簡潔和慣用的方法:
Array.prototype.map():
此方法建立一個新陣列對呼叫陣列中的每個元素呼叫提供的函數的結果。對於您的用例:
const result = objArray.map(a => a.foo);
Array.prototype.map()與解構:
在映射函數中使用解構可以讓您提取更多特定屬性簡潔地:
const result = objArray.map(({ foo }) => foo);
這些方法提供了一種更乾淨、更有效的方式來提取屬性值,而不需要自訂函數。
以上是如何在 JavaScript 中有效地從物件數組中提取屬性值作為數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!