Heim >Web-Frontend >js-Tutorial >Wie finde ich die Unterschiede zwischen zwei Arrays von Objekten in JavaScript?

Wie finde ich die Unterschiede zwischen zwei Arrays von Objekten in JavaScript?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 12:04:15282Durchsuche

How to Find the Differences Between Two Arrays of Objects in JavaScript?

Unterschiede zwischen Arrays von Objekten in JavaScript finden

Angesichts zweier Arrays von Objekten mit ähnlichen Strukturen kann es notwendig sein, die Objekte zu bestimmen sind für jedes Array einzigartig. Dieses Szenario tritt auf, wenn Ergebnismengen verglichen oder ein Datenabgleich durchgeführt werden. In JavaScript lässt sich der Unterschied zwischen Arrays von Objekten durch eine Kombination aus Filterung und Vergleich ermitteln.

Um die eindeutigen Objekte in jedem Array zu identifizieren, können wir zunächst eine Vergleichsfunktion definieren, die bewertet, ob zwei Objekte äquivalent sind basierend auf ihren Eigenschaften. Zum Beispiel:

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

Als nächstes können wir die Filtermethode verwenden, um ein Array zu durchlaufen und die Objekte auszuwählen, die im anderen Array nicht vorhanden sind, entsprechend der Vergleichsfunktion.

const onlyInLeft = (left, right, compareFunction) =>
  left.filter(leftValue => !right.some(rightValue => compareFunction(leftValue, rightValue)));

Indem wir diese Technik auf beide Arrays anwenden, können wir zwei Arrays erhalten, die jeweils die einzigartigen Objekte enthalten:

const onlyInA = onlyInLeft(a, b, isSameUser);
const onlyInB = onlyInLeft(b, a, isSameUser);

Schließlich können wir die einzigartigen Objekte kombinieren Objekte aus beiden Arrays in einem einzigen Ergebnis:

const result = [...onlyInA, ...onlyInB];

Das resultierende Ergebnisarray enthält die Objekte, die für beide Arrays eindeutig sind, und bietet eine umfassende Darstellung der Unterschiede zwischen ihnen.

Das obige ist der detaillierte Inhalt vonWie finde ich die Unterschiede zwischen zwei Arrays von Objekten 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