Symmetrische Differenz von Arrays basierend auf einer Funktion

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir untersuchen, wie man mithilfe von JavaScript die symmetrische Differenz zwischen zwei Arrays anhand einer bereitgestellten Funktion findet. Wir werden die Methoden Array.prototype.filter() und Array.prototype.findIndex() verwenden, um die Elemente der beiden Arrays zu vergleichen und die Werte zurückzugeben, die für jedes Array einzigartig sind. Am Ende dieses Labs werden Sie ein besseres Verständnis dafür haben, wie diese Methoden verwendet werden, um Arrays in JavaScript zu vergleichen und zu manipulieren.

Eine Funktion zur Suche nach der symmetrischen Differenz von Arrays

Um die symmetrische Differenz zwischen zwei Arrays mithilfe einer bereitgestellten Funktion als Vergleichsmethode zu finden, folgen Sie diesen Schritten:

  1. Öffnen Sie die Konsole/SSH und geben Sie node ein, um mit der Programmierung zu beginnen.
  2. Verwenden Sie die Methoden Array.prototype.filter() und Array.prototype.findIndex(), um die passenden Werte zu finden.
  3. Verwenden Sie den bereitgestellten Code, um die Operation durchzuführen.
const symmetricDifferenceWith = (arr, val, comp) => [
  ...arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1),
  ...val.filter((a) => arr.findIndex((b) => comp(a, b)) === -1)
];

Beispielsweise betrachten Sie die folgende Eingabe:

symmetricDifferenceWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
); // [1, 1.2, 3.9]

Der obige Code wird [1, 1.2, 3.9] als symmetrische Differenz zwischen den beiden Arrays zurückgeben.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu der symmetrischen Differenz von Arrays basierend auf einer Funktion abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.