Heim > Web-Frontend > js-Tutorial > Wie entferne ich effizient doppelte Objekte aus einem Array in JavaScript?

Wie entferne ich effizient doppelte Objekte aus einem Array in JavaScript?

Patricia Arquette
Freigeben: 2024-12-19 06:10:54
Original
670 Leute haben es durchsucht

How to Efficiently Remove Duplicate Objects from an Array in JavaScript?

So entfernen Sie doppelte Objekte aus einem Array

Beim Arbeiten mit einem Array von Objekten ist es oft notwendig, Duplikate zu entfernen. Die ES6-Filtermethode bietet eine elegante Lösung für diese Aufgabe.

ES6 Magic

obj.arr = obj.arr.filter((value, index, self ) =>
index === self.findIndex((t) => (

t.place === value.place && t.name === value.name
Nach dem Login kopieren

))
)

Dieser Code vergleicht jedes Element im Array mit allen nachfolgenden Elementen. Wenn ein Duplikat gefunden wird, wird es herausgefiltert.

Generische Lösung

Für einen allgemeineren Ansatz:

const uniqueArray = obj. arr.filter((value, index) => {
const _value = JSON.stringify(value);
return index === obj.arr.findIndex(obj => {

return JSON.stringify(obj) === _value;
Nach dem Login kopieren

});
});

Diese Strategie serialisiert jedes Objekt in eine Zeichenfolge und vergleicht die Zeichenfolgen zur Identifizierung Duplikate.

Eigenschaftsbasierter Vergleich

Verwenden der Eigenschaftsstrategie:

const getUniqueItemsByProperties = (items, propNames) =>
items.filter((item, index, array) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNames))
Nach dem Login kopieren

);

Dieser Ansatz bietet Flexibilität bei der Angabe der Eigenschaften, anhand derer die Eindeutigkeit bestimmt wird .

Wrapped Property Strategy

Zu ermöglichen für Array- und einzelne Eigenschaftsnamen:

const getUniqueItemsByProperties = (items, propNames) => {
const propNamesArray = Array.from(propNames);

return items.filter((item, index, array) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNamesArray))
Nach dem Login kopieren

);
};

Explanation

Die Schlüsselidee hier ist die Verwendung die Filtermethode zur Identifizierung von Duplikaten. Das Einzigartigkeitskriterium wird durch die Vergleichslogik bestimmt, die basierend auf den Objekteigenschaften oder einer Serialisierungsstrategie angepasst werden kann.

Das obige ist der detaillierte Inhalt vonWie entferne ich effizient doppelte Objekte aus einem Array in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage