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
Freigeben: 2024-12-09 10:04:08
Original
929 Leute haben es durchsucht

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;
    Nach dem Login kopieren

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)));
    Nach dem Login kopieren

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);
    Nach dem Login kopieren

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];
    Nach dem Login kopieren

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!

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