Heim >Web-Frontend >js-Tutorial >Wie extrahiere ich effizient einen Eigenschaftswert als Array aus einem Array von Objekten in JavaScript?

Wie extrahiere ich effizient einen Eigenschaftswert als Array aus einem Array von Objekten in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 14:33:47766Durchsuche

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

So extrahieren Sie den Wert einer Eigenschaft als Array aus einem Array von Objekten

In JavaScript kann es vorkommen, dass Sie etwas extrahieren müssen einen bestimmten Eigenschaftswert von jedem Objekt in einem Array. Eine Möglichkeit, dies zu erreichen, ist eine benutzerdefinierte Funktion, wie unten gezeigt:

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 ]

Es gibt jedoch prägnantere und idiomatischere Ansätze mit den Array-Methoden von JavaScript:

  1. Array.prototype.map():

    Diese Methode erstellt ein neues Array mit den Ergebnissen des Aufrufs einer bereitgestellten Methode Funktion für jedes Element im aufrufenden Array. Für Ihren Anwendungsfall:

    const result = objArray.map(a => a.foo);
  2. Array.prototype.map() mit Destrukturierung:

    Die Verwendung von Destrukturierung innerhalb der Kartenfunktion ermöglicht es Ihnen um bestimmte Eigenschaften prägnanter zu extrahieren:

    const result = objArray.map(({ foo }) => foo);
  3. Diese Methoden bieten eine sauberere und effizientere Möglichkeit, Eigenschaftswerte zu extrahieren, ohne dass benutzerdefinierte Funktionen erforderlich sind.

    Das obige ist der detaillierte Inhalt vonWie extrahiere ich effizient einen Eigenschaftswert als Array aus einem Array von Objekten in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn