Heim >Web-Frontend >js-Tutorial >Wie entferne ich doppelte Objekte aus einem Array in JavaScript?
So entfernen Sie doppelte Objekte aus einem Array
Ihre Anfrage dreht sich um das effiziente Entfernen doppelter Objekte aus einem Array innerhalb eines Objekts. Lassen Sie uns einige effektive Techniken erkunden, um dieses Ziel zu erreichen.
ES6-Lösung:
Um einen Hauch von ES6-Eleganz einzuführen, können wir die Filter- und findIndex-Methoden verwenden:
obj.arr = obj.arr.filter((value, index, self) => index === self.findIndex((t) => ( t.place === value.place && t.name === value.name )) );
Dieser Ansatz stellt sicher, dass nur die eindeutigen Objekte im Array verbleiben.
Generisch Lösung:
Berücksichtigen Sie für eine vielseitigere Lösung Folgendes:
const uniqueArray = obj.arr.filter((value, index) => { const _value = JSON.stringify(value); return index === obj.arr.findIndex(obj => { return JSON.stringify(obj) === _value; }); });
Diese Methode verwendet JSON-Stringifizierung, um Objekte anhand ihrer Eigenschaftswerte zu vergleichen.
Eigenschaftsbasierte Filterung:
Alternativ können Sie eine Funktion definieren, um Objekte nach bestimmten Kriterien zu vergleichen Eigenschaften:
const isPropValuesEqual = (subject, target, propNames) => propNames.every(propName => subject[propName] === target[propName]); const getUniqueItemsByProperties = (items, propNames) => items.filter((item, index, array) => index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNames)) );
Diese Funktion gibt ein Array zurück, das eindeutige Objekte basierend auf den angegebenen Eigenschaftsnamen enthält.
Erklärung:
Durch die Nutzung dieser Techniken können Sie effektiv entfernen Duplizieren Sie Objekte aus einem Array, sodass Sie mit einem sauberen und präzisen Datensatz arbeiten können.
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Objekte aus einem Array in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!