Maison >interface Web >js tutoriel >Comment extraire efficacement une valeur de propriété sous forme de tableau à partir d'un tableau d'objets en JavaScript ?

Comment extraire efficacement une valeur de propriété sous forme de tableau à partir d'un tableau d'objets en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 14:33:47801parcourir

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

Comment extraire la valeur d'une propriété sous forme de tableau à partir d'un tableau d'objets

En JavaScript, vous pouvez rencontrer des situations où vous devez extraire une valeur de propriété spécifique de chaque objet d'un tableau. Une façon d'y parvenir consiste à utiliser une fonction personnalisée, comme indiqué ci-dessous :

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 ]

Cependant, il existe des approches plus concises et idiomatiques utilisant les méthodes de tableau de JavaScript :

  1. Array.prototype.map():

    Cette méthode crée un nouveau tableau avec les résultats de l'appel d'un fonction sur chaque élément du tableau appelant. Pour votre cas d'utilisation :

    const result = objArray.map(a => a.foo);
  2. Array.prototype.map() avec déstructuration :

    L'utilisation de la déstructuration dans la fonction map vous permet pour extraire des propriétés spécifiques de manière plus concise :

    const result = objArray.map(({ foo }) => foo);
  3. Ces méthodes fournissent un moyen plus propre et plus efficace d'extraire les valeurs des propriétés sans avoir besoin de fonctions personnalisées.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn