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.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen