Heim >Web-Frontend >js-Tutorial >Wie extrahiere ich eindeutige Eigenschaftswerte effizient aus einem Array von JavaScript-Objekten?

Wie extrahiere ich eindeutige Eigenschaftswerte effizient aus einem Array von JavaScript-Objekten?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 12:56:11365Durchsuche

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

Effizientes Abrufen eindeutiger Werte aus Arrays von Objekten in JavaScript

Anhand eines Arrays von Objekten besteht die Aufgabe darin, ein neues Array zu extrahieren, das nur die eindeutigen Werte eines bestimmten Objekts enthält Eigentum. Betrachten Sie zum Beispiel das folgende Array:

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

Das Ziel besteht darin, ein Array zu erhalten, das die verschiedenen Altersgruppen aus diesem Array enthält, was zu Folgendem führt:

[17, 35]

Iterative Lösung

Ein einfacher Ansatz besteht darin, die Objekte im Array zu durchlaufen und zu prüfen, ob das Alter jedes Objekts im Ergebnisarray vorhanden ist. Wenn nicht, wird das Alter zum Ergebnisarray hinzugefügt. Obwohl dieser Ansatz funktionsfähig ist, ist er ineffizient, da er auf mehreren Iterationen und Vergleichen beruht.

var distinct = []
for (var i = 0; i < array.length; i++)
    if (array[i].age not in distinct)
        distinct.push(array[i].age)

Optimierte Lösung mit ES6-Set

Für eine effizientere Handhabung ES6 /ES2015 bietet die Set-Datenstruktur, die die Speicherung eindeutiger Werte ermöglicht. So verwenden Sie es:

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']

Indem wir das Array von Objekten einem Array ihrer gewünschten Eigenschaftswerte zuordnen und daraus ein Set erstellen, eliminieren wir doppelte Werte. Anschließend führt die Rückkonvertierung des Sets in ein Array mit dem Spread-Operator (...) zum gewünschten Ergebnis.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich eindeutige Eigenschaftswerte effizient aus einem Array von JavaScript-Objekten?. 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