Wie erhält man eindeutige Werte aus einem Array von Objekten in JavaScript?

Angenommen, ich habe Folgendes:

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

Was ist der beste Weg, um in der Lage zu sein, ein Array aller unterschiedlichen Altersstufen zu erhalten, so dass ich ein Ergebnisarray erhalte von:

[17, 35]

Gibt es eine Möglichkeit, die Daten oder eine bessere Methode alternativ so zu strukturieren, dass ich nicht jedes Array durchlaufen muss, um den Wert von "age" zu überprüfen und gegen ein anderes Array auf seine Existenz zu prüfen, und es hinzuzufügen, wenn nicht?

Wenn es eine Möglichkeit gäbe, könnte ich einfach die verschiedenen Zeitalter herausziehen, ohne es zu wiederholen ...

Aktueller ineffizienter Weg, den ich verbessern möchte ... Wenn es bedeutet, dass anstelle von "Array" ein Array von Objekten, sondern eine "Karte" von Objekten mit einem eindeutigen Schlüssel (dh "1,2,3") wäre okay auch Ich bin nur auf der Suche nach der leistungsfähigsten Art und Weise.

Das Folgende ist, wie ich es derzeit mache, aber für mich scheint die Iteration aus Effizienzgründen nur mies zu sein, obwohl es funktioniert ...

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

Antworten auf die Frage(27)

Ihre Antwort auf die Frage