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.