首頁 >web前端 >js教程 >如何在 JavaScript 中有效地從物件數組中提取屬性值作為數組?

如何在 JavaScript 中有效地從物件數組中提取屬性值作為數組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-04 14:33:47761瀏覽

How to Efficiently Extract a Property Value as an Array from an Array of Objects in JavaScript?

如何從物件陣列中提取屬性值作為數組

在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 的陣列方法有更簡潔和慣用的方法:

  1. Array.prototype.map():

    此方法建立一個新陣列對呼叫陣列中的每個元素呼叫提供的函數的結果。對於您的用例:

    const result = objArray.map(a => a.foo);
  2. Array.prototype.map()與解構:

    在映射函數中使用解構可以讓您提取更多特定屬性簡潔地:

    const result = objArray.map(({ foo }) => foo);
  3. 這些方法提供了一種更乾淨、更有效的方式來提取屬性值,而不需要自訂函數。

    以上是如何在 JavaScript 中有效地從物件數組中提取屬性值作為數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn