Maison > interface Web > js tutoriel > Comment extraire efficacement des valeurs de propriété uniques à partir d'un tableau d'objets JavaScript ?

Comment extraire efficacement des valeurs de propriété uniques à partir d'un tableau d'objets JavaScript ?

Barbara Streisand
Libérer: 2024-12-03 12:56:11
original
361 Les gens l'ont consulté

How to Efficiently Extract Unique Property Values from an Array of JavaScript Objects?

Récupérer efficacement des valeurs distinctes à partir de tableaux d'objets en JavaScript

Étant donné un tableau d'objets, la tâche consiste à extraire un nouveau tableau contenant uniquement les valeurs distinctes d'un objet spécifique propriété. Par exemple, considérons le tableau suivant :

var array = 
    [
        { "name": "Joe", "age": 17 }, 
        { "name": "Bob", "age": 17 }, 
        { "name": "Carl", "age": 35 }
    ]
Copier après la connexion

L'objectif est d'obtenir un tableau contenant les âges distincts de ce tableau, ce qui donne :

[17, 35]
Copier après la connexion

Solution itérative

Une approche simple consiste à parcourir les objets du tableau et à vérifier si l'âge de chaque objet existe dans le tableau de résultats. Sinon, l'âge est ajouté au tableau de résultats. Cette approche, bien que fonctionnelle, est inefficace en raison de sa dépendance à plusieurs itérations et comparaisons.

var distinct = []
for (var i = 0; i < array.length; i++)
    if (array[i].age not in distinct)
        distinct.push(array[i].age)
Copier après la connexion

Solution optimisée utilisant ES6 Set

Pour une manipulation plus efficace, ES6 /ES2015 propose la structure de données Set, qui permet le stockage de valeurs uniques. Voici comment l'utiliser :

const data = [
  { "group": 'A', "name": 'SD' }, 
  { "group": 'B', "name": 'FI' }, 
  { "group": 'A', "name": 'MM' },
  { "group": 'B', "name": 'CO'}
];

const unique = [...new Set(data.map(item => item.group))]; // [ 'A', 'B']
Copier après la connexion

En mappant le tableau d'objets sur un tableau de leurs valeurs de propriété souhaitées et en créant un ensemble à partir de celui-ci, nous éliminons les valeurs en double. Ensuite, la reconversion du Set en tableau à l'aide de l'opérateur de propagation (...) produit le résultat souhaité.

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