Eindeutige Werte aus Arrays von Objekten in JavaScript abrufen
Optimaler Ansatz
Um effizient abzurufen Um eindeutige Werte aus einem Array von Objekten zu erhalten, kann eine Kombination aus dem Spread-Operator und der Set-Datenstruktur verwendet werden. In ES6 und späteren Versionen von JavaScript wird der folgende Ansatz dringend empfohlen:
const data = [ { name: "Joe", age: 17 }, { name: "Bob", age: 17 }, { name: "Carl", age: 35 } ]; const distinctAges = [...new Set(data.map(item => item.age))]; console.log(distinctAges); // [17, 35]
Dieser Ansatz nutzt die Leistung von Set, um doppelte Werte zu entfernen, und den Spread-Operator, um aus den eindeutigen Werten ein neues Array zu erstellen. Die Kartenfunktion iteriert über das Array und extrahiert nur die Alterseigenschaftswerte zur weiteren Verarbeitung.
Alternative Datenstruktur
Bei Strukturierung der Daten als Array von Objekten mit Eindeutigkeit Schlüssel bevorzugt wird, kann eine Map-Datenstruktur verwendet werden:
const data = new Map([ ["1", { name: "Joe", age: 17 }], ["2", { name: "Bob", age: 17 }], ["3", { name: "Carl", age: 35 }] ]); const distinctAges = [...data.values()].map(item => item.age); console.log(distinctAges); // [17, 35]
In diesem Szenario ist die Datenvariable eine Map mit eindeutigen Schlüsseln (z. B. „1“, „2“, „3“) und entsprechende Objektwerte. Um die unterschiedlichen Altersstufen abzurufen, wird mit der Eigenschaft „values“ ein Array von Werten erstellt, die dann zugeordnet werden, um nur die Werte der Alterseigenschaft zu extrahieren.
Vermeidung ineffizienter Iteration
Durch die Nutzung der Set-Datenstruktur oder der Map-Datenstruktur wie oben beschrieben wird es unnötig, jedes Array-Element zu durchlaufen und auf vorhandene Werte zu prüfen. Diese Datenstrukturen handhaben die Eindeutigkeit nativ und bieten eine effizientere Lösung, ohne dass eine umständliche Iteration erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript effizient eindeutige Werte aus einem Array von Objekten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!