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:
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.
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.
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.
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!