Maison > interface Web > js tutoriel > Comment puis-je extraire efficacement des valeurs uniques d'un tableau d'objets en JavaScript ?

Comment puis-je extraire efficacement des valeurs uniques d'un tableau d'objets en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-09 16:40:12
original
169 Les gens l'ont consulté

How Can I Efficiently Extract Unique Values from an Array of Objects in JavaScript?

Extraire efficacement des valeurs distinctes d'un tableau d'objets en JavaScript

En JavaScript, obtenir des valeurs distinctes à partir d'un tableau d'objets peut être une tâche courante tâche. Considérez le scénario suivant :

var array = [
  { name: "Joe", age: 17 },
  { name: "Bob", age: 17 },
  { name: "Carl", age: 35 }
];

// Desired Result: [17, 35]
Copier après la connexion

Pour obtenir ce résultat, une approche consiste à parcourir le tableau et à conserver un tableau séparé pour stocker des valeurs distinctes. Cependant, cette méthode peut s'avérer inefficace, en particulier pour les grands tableaux.

Une approche alternative, disponible dans ES6/ES2015 et versions ultérieures, utilise la structure de données Set. Les ensembles fournissent une collection unique de valeurs, vous pouvez donc créer un nouvel ensemble à partir de la propriété souhaitée du tableau d'objets :

const uniqueAges = [...new Set(array.map(item => item.age))];
Copier après la connexion

Cette instruction parcourt le tableau à l'aide de la fonction map() pour extraire la propriété age. de chaque objet. Il crée ensuite un Set à partir des valeurs extraites à l'aide du constructeur new Set(). Enfin, il répartit l'ensemble dans un tableau à l'aide de l'opérateur de répartition (...), ce qui donne la liste souhaitée d'âges distincts : [17, 35].

Cette approche offre des avantages de performances significatifs par rapport à l'approche itérative. méthode, en particulier pour les grands ensembles de données. Il élimine le besoin de structures de données supplémentaires et minimise le nombre d'itérations requises.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal