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

Wie entferne ich doppelte Objekte aus einem Array in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-27 20:17:10292Durchsuche

How to Remove Duplicate Objects from an 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:

  • Filter: Entfernt doppelte Objekte, die die gegebenen Anforderungen erfüllen Kriterium.
  • findIndex: Gibt den Index des ersten Vorkommens eines Objekts zurück, das einem angegebenen Kriterium entspricht.

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!

Stellungnahme:
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