const things = [
{place:"here",name:"stuff"},
{place:"there",name:"morestuff"},
{place:"there",name:"morestuff"}
];
const filteredArr = things.reduce((thing, current) => {
const x = thing.find(item => item.place === current.place);
if (!x) {
return thing.concat([current]);
} else {
return thing;
}
}, []);
console.log(filteredArr)
Lösung über Set
Objekt | Entsprechend dem Datentyp
const seen = new Set();
const things = [
{place:"here",name:"stuff"},
{place:"there",name:"morestuff"},
{place:"there",name:"morestuff"}
];
const filteredArr = things.filter(el => {
const duplicate = seen.has(el.place);
seen.add(el.place);
return !duplicate;
});
console.log(filteredArr)
Set
Objekt-Merkmal
Jeder Wert im Set-Objekt muss eindeutig sein, die Gleichheit der Werte wird geprüft
Der Zweck des Set-Objekts ist es, eindeutige Werte entsprechend dem Datentyp zu speichern, unabhängig davon, ob es sich um primitive Werte oder Objektreferenzen handelt. Es hat vier sehr nützliche Instanzmethoden add
, clear
, has
& delete
.
Einzigartige & Daten Typ Merkmal:..
add
Methode
Es ist Push eindeutige Daten in die Sammlung standardmäßig auch bewahren Datentyp ... das heißt, es zu verhindern, um doppelte Element in die Sammlung zu schieben auch wird es Datentyp standardmäßig überprüfen ...
has
Methode
irgendwann muss Datenelement in der Sammlung vorhanden und zu überprüfen. es ist praktisch Methode für die Sammlung, um eindeutige ID oder Element und Datentyp Wange.
delete
Methode
Es wird ein bestimmtes Element aus der Sammlung entfernt, indem der Datentyp identifiziert wird.
clear
Methode
werden alle Sammlungselemente aus einer bestimmten Variablen entfernt und als leeres Objekt gesetzt
Set
Objekt hat auch Iterationsmethoden & mehr Funktionen
Lesen Sie besser von hier aus: Setzen - JavaScript | MDN