Heim >Web-Frontend >js-Tutorial >Wie kann ich die Unterschiede zwischen zwei JavaScript-Objektarrays effizient finden?

Wie kann ich die Unterschiede zwischen zwei JavaScript-Objektarrays effizient finden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-09 10:04:08894Durchsuche

How Can I Efficiently Find the Differences Between Two JavaScript Object Arrays?

Ermitteln des Unterschieds zwischen zwei Objektarrays in JavaScript

In JavaScript müssen Sie möglicherweise den Unterschied zwischen zwei Objektarrays ermitteln . Beispielsweise könnten Sie zwei Ergebnismengen haben, die Sie vergleichen und die Objekte identifizieren möchten, die nur in einer, aber nicht in der anderen vorhanden sind.

Um dies zu erreichen, können Sie eine Kombination aus nativen JS-Funktionen und einer benutzerdefinierten Funktion nutzen Vergleichsfunktion. So können Sie es machen:

  1. Definieren Sie eine Vergleichsfunktion:

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

Diese Funktion bestimmt, ob Zwei Objekte sind aufgrund ihres „Werts“ und ihrer „Anzeige“ gleich. Eigenschaften.

  1. Verwenden Sie die Funktion „onlyInLeft“:

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

Diese Funktion benötigt drei Argumente: das linke Array, das rechte Array und die Vergleichsfunktion. Es filtert die Elemente aus dem linken Array heraus, die keine entsprechenden Elemente im rechten Array haben, basierend auf der definierten Vergleichsfunktion.

  1. Verwenden Sie die Funktion „onlyInLeft“, um Unterschiede zu finden :

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

Dieser Code wendet die Funktion „onlyInLeft“ auf die beiden an Arrays, wobei die Vergleichsfunktion verwendet wird, um die Unterschiede zu ermitteln.

  1. Erstellen Sie das Endergebnis:

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

Endlich , das Array „Ergebnis“ enthält die Objekte, die in einem Array vorhanden sind, im anderen jedoch nicht.

Das obige ist der detaillierte Inhalt vonWie kann ich die Unterschiede zwischen zwei JavaScript-Objektarrays effizient finden?. 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