Arrayvereinigung basierend auf einer Funktion

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man in JavaScript eine Arrayvereinigung auf der Grundlage einer Funktion implementiert. Wir werden die bereitgestellte Vergleichsfunktion verwenden, um alle Elemente zu finden und zurückzugeben, die in mindestens einem der beiden Arrays mindestens einmal vorhanden sind. Am Ende des Labs werden Sie ein besseres Verständnis dafür haben, wie man die Array.prototype.findIndex()-Methode und das Set-Objekt verwendet, um Arrays zu vergleichen und zu kombinieren.

Wie man die Vereinigung zweier Arrays basierend auf einer Funktion findet

Um die Vereinigung zweier Arrays basierend auf einer Funktion mit Node.js zu finden, gehen Sie folgendermaßen vor:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein.
  2. Verwenden Sie den folgenden Code, um eine Set mit allen Werten von a und Werten in b zu erstellen, für die der Vergleichsoperator in a keine Übereinstimmungen findet, indem Sie Array.prototype.findIndex() verwenden:
const unionWith = (a, b, comp) =>
  Array.from(
    new Set([...a, ...b.filter((x) => a.findIndex((y) => comp(x, y)) === -1)])
  );
  1. Rufen Sie die unionWith-Funktion mit drei Argumenten auf: das erste Array, das zweite Array und die Vergleichsfunktion.
  2. Die Funktion gibt jedes Element zurück, das in mindestens einem der beiden Arrays mindestens einmal vorhanden ist, unter Verwendung der bereitgestellten Vergleichsfunktion.
  3. Hier ist ein Beispiel für das Aufrufen der unionWith-Funktion:
unionWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]

Dies wird [1, 1.2, 1.5, 3, 0, 3.9] als die Vereinigung der beiden Arrays zurückgeben.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Arrayvereinigung basierend auf einer Funktion abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.