Javascript – Wie man distinct values von einem Array von Objekten bekommt

Es gibt Aufgaben, bei denen ich immer wieder nachschauen muss, wie es am besten geht. Heute: Wie man die Werte eines Property aus einem Array von Objekten bekommt. Ohne Duplikate. Here we go!



Unser Daten-Array:

var data =
[
  {name: "A", value: 11}, 
  {name: "B", value: 11}, 
  {name: "C", value: 42}
];

Für mich die beste Lösung (ab ES6/ES2015):

const unique = [...new Set(data.map(item => item.value))];

Folgendes funktioniert ebenfalls (ab ES6/ES2015):

const unique = data.map(item => item.age).filter((value, index, self) => self.indexOf(value) === index);

Rückgabe jeweils: [11, 42]
 

Das funktioniert natürlich auch mit einfachen Arrays:

const data = [11, 11, 42];
const unique = [...new Set(data)];

bzw.

const data = [11, 11, 42];
const unique = data.filter((x, i, a) => a.indexOf(x) == i);

Ich hoffe wie immer, diese erstbeste Lösung war hilfreich.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert