Heim >Web-Frontend >js-Tutorial >Wie finde ich den Unterschied zwischen zwei JavaScript-Arrays von Objekten?

Wie finde ich den Unterschied zwischen zwei JavaScript-Arrays von Objekten?

Susan Sarandon
Susan SarandonOriginal
2024-12-18 01:12:09456Durchsuche

How to Find the Difference Between Two JavaScript Arrays of Objects?

Bestimmen des Unterschieds zwischen Arrays von Objekten in JavaScript

Das Konzept der Gegenüberstellung zweier Arrays von Objekten entsteht häufig beim Vergleich von Datensätzen. In diesem Artikel wird eine Methode zum Extrahieren verschiedener Elemente zwischen zwei Arrays untersucht, um die Beibehaltung spezifischer Objekteigenschaften sicherzustellen.

Betrachten Sie die folgenden Eingabearrays:

Result 1:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" },
    { value: "4", display: "Ryan" }
]

Result 2:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" }
]

Das gewünschte Ergebnis ist der Unterschied zwischen diesen Arrays , was ein Array ergeben würde, das nur das eindeutige Element aus Ergebnis 1 enthält:

[
    { value: "4", display: "Ryan" }
]

JavaScript bietet native Methoden, die diese Aufgabe elegant erledigen können. Durch die Definition einer Vergleichsfunktion, die die Gleichheit von Objekten anhand ihrer Eigenschaften bewertet, können Sie die Funktion onlyInLeft() nutzen, um Elemente zu identifizieren, die ausschließlich im linken (ursprünglichen) Array vorhanden sind. Der gleiche Vorgang kann auf das rechte (neue) Array angewendet werden.

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

const onlyInA = onlyInLeft(result1, result2, isSameUser);
const onlyInB = onlyInLeft(result2, result1, isSameUser);

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

Die Ergebnisvariable enthält anschließend ein Array mit der Unterscheidung zwischen den beiden Eingabearrays. Dieser Ansatz bietet eine flexible Lösung zum Vergleichen von Objektarrays unter Beibehaltung spezifischer Eigenschaften für den Vergleich.

Das obige ist der detaillierte Inhalt vonWie finde ich den Unterschied zwischen zwei JavaScript-Arrays von Objekten?. 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