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

Wie extrahiere ich in JavaScript eindeutige Altersangaben aus einem Array von Objekten?

Mary-Kate Olsen
Freigeben: 2024-12-22 01:56:12
Original
342 Leute haben es durchsucht

How to Extract Unique Ages from an Array of Objects in JavaScript?

Eindeutige Werte aus einem Array von Objekten in JavaScript extrahieren

Stellen Sie sich ein Array von Objekten vor, bei dem jedes Objekt eine Person mit einem Namen und einem Alter darstellt:

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

Die Aufgabe besteht darin, unterschiedliche Altersgruppen aus diesem Array zu extrahieren, was zu einem neuen Array mit Unique führt Werte:

[17, 35]
Nach dem Login kopieren

JavaScript-spezifische Lösung (ES6 und höher)

ES6 führt die Set-Datenstruktur ein, die automatisch eine Sammlung eindeutiger Werte verwaltet. Dies kann genutzt werden, um unterschiedliche Altersgruppen effizient zu extrahieren:

const distinctAges = [...new Set(array.map(object => object.age))];
Nach dem Login kopieren

Dieser Ansatz erstellt ein neues Array, das nur die eindeutigen Werte enthält, die in der Alterseigenschaft jedes Objekts im ursprünglichen Array vorhanden sind.

Alternative Datenstrukturen

Wenn die Leistung im Vordergrund steht, können Sie alternative Datenstrukturen wie eine Karte oder ein Objekt in Betracht ziehen:

const ageMap = {};
array.forEach(object => {
  ageMap[object.age] = true;
});

const distinctAges = Object.keys(ageMap).map(Number);
Nach dem Login kopieren

In In diesem Szenario werden die Alterswerte als Schlüssel in einem Objekt (Karte) gespeichert. Die Methode Object.keys() ruft die eindeutigen Schlüssel (Alterswerte) als Array ab, das dann mithilfe von „map(Number)“ in numerische Werte konvertiert wird.

Verbesserte Methode

Die anfängliche Iterationsmethode Die in der Frage dargestellte Methode kann verbessert werden, indem die Methode Includes() verwendet wird, um nach doppelten Werten zu suchen:

var distinct = [];
for (var i = 0; i < array.length; i++) {
  if (!distinct.includes(array[i].age)) {
    distinct.push(array[i].age);
  }
}
Nach dem Login kopieren

Diese Optimierung reduziert die Anzahl der erforderlichen Vergleiche, indem sie mehrere Überprüfungen vermeidet doppelte Altersangaben.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage